4 Одновимірні і двовимірні масиви
Варіант № 12
1) Хай дано 100 довільних чисел. Скласти програму, що друкує їх на екрані по 6 цифр в рядку.
2) У початковій матриці замінити нулями всі елементи, що стоять на головній діагоналі і вище за неї .
Program praktika4;
Uses CRT;
Label M1;
Type mas=array [1..100] of real;
Type mass=array [1..20,1..20] of real;
Var i,j,n,m,k:integer;
a,b:real;
X:mas;
Y:mass;
Begin
TextColor(3);
M1:ClrScr;
Writeln(' Задание #4');
Writeln(' Одномерные и двумерные массивы');
Writeln(' 1 - Задача №1');
Writeln(' 2 - Задача №2');
Writeln(' 3 - Выход');
Write('Сделайте выбор: ');
Readln(k);
Case k of
1:Begin
ClrScr;
textcolor(1);
Writeln('Вы выбрали первую задачу!');
Writeln;
Writeln('Введите количество элементов в массиве: ');
Readln(n);
Writeln('Введите диапазон чисел: ');
Readln(a,b);
Writeln('Полученный массив: ');
Randomize;
For i:=1 to n do
Begin
X[i]:=Random*(b-a)+a;
textcolor(5);
Write(x[i]:3:0);
if i mod 6=0 then
Writeln;
End;
Readln;
Textcolor(2);
Writeln('Выполнил студент:');
Writeln('Сикорский Эдуард Александрович');
Writeln('Группа РП-09-1/9 (28)');
Readln;
GoTo m1;
End;
2:Begin
ClrScr;
textcolor(1);
Writeln('Вы выбрали вторую задачу!');
Writeln('Введите размер матрицы: ');
Readln(n,m);
Writeln('Введите диапазон чисел: ');
Readln(a,b);
Writeln;
Writeln('Исходный массив: ');
Writeln;
Randomize;
For i:=1 to n do
Begin
For j:=1 to m do
Begin
Y[i,j]:=Random*(b-a)+a;
textcolor(5);
Write(Y[i,j]:3:0);
End;
Writeln;
End;
Writeln;
textcolor(1);
Writeln('Полученный массив: ');
Writeln;
For i:=1 to n do
Begin
For j:=1 to m do
Begin
If i=j then
Y[i,j]:=0;
If i<j then
Y[i,j]:=0;
textcolor(5);
Write(Y[i,j]:3:0);
End;
Writeln;
end;
Readln;
Textcolor(2);
Writeln('Выполнил студент:');
Writeln('Сикорский Эдуард Александрович');
Writeln('Группа РП-09-1/9 (28)');
Readln;
GoTo m1;
End;
3:;
else
GoTo m1;
End;
End.
6 Робота з файлами записів
Варіант № 12
Товар, що експортується, описується назвою, країною, в яку експортується товар і об'ємом поставок в штуках. Виведіть на екран назви країн, в які поставляється товару в об'ємі, що потрапляє в заданий діапазон. Який товар поставляється в максимальному об'ємі?
uses CRT;
label m1;
type tovar=record
nazv,strana:string[15];
kol:integer;
end;
tov=file of tovar;
var i,n,c,d,k:integer;
f1:tov;
max:real;
a:tovar;
begin
assign(f1, 'c:\tov.doc');
m1:CLRSCR;
Textcolor(3);
Writeln('1 - Sozdanie faila');
Writeln('2 - Dobavlenie v fail');
Writeln('3 - tovar kotoriy vxodit v diapazon');
Writeln('4 - maximalnoe koli4estvo');
Writeln('5 - Exit');
writeln('Sdelaite vibor: ');
read(k);
case k of
1:
begin
Clrscr;
Writeln('vvedite koli4estvo naimenovaniy: ');
readln(n);
rewrite(f1);
for i:=1 to n do
with a do
begin
writeln(i,'- tovar');
Write( ' - nazvanie');
readln(nazv);
Write(' - strana');
readln(strana);
write(' - koli4estvo shtuk');
readln(kol);
write(f1,a);
end;
close(f1);
writeln('Fail uspeshno sozdan!');
readln;
goto m1;
end;
2:
begin
clrscr;
Writeln('vvedite koli4estvo naimenovaniy: ');
readln(n);
reset(f1);
SEEK(f1,filesize(f1));
for i:=1 to n do
with a do
begin
writeln(i,'- tovar');
Write( ' - nazvanie');
readln(nazv);
Write(' - strana');
readln(strana);
write(' - koli4estvo shtuk');
readln(kol);
write(f1,a);
end;
close(f1);
writeln('Tovar uspeshno dobavlen!');
readln;
goto m1;
end;
3:
begin
reset(f1);
writeln('Vvedite diapazon: ');
readln(c,d);
textcolor(5);
writeln('');
writeln(' Nazv Strana Koli4 Shtuk ');
writeln('');
For i:=1 to filesize(f1) do
begin
read(f1,a);
if (c<a.kol)and(a.kol<d) then
writeln('',a.nazv:10,'',a.strana:10,' ', a.kol:4,' ');
end;
writeln('');
close(f1);
readln;
textcolor(2);
Writeln('Выполнил студент:');
writeln('Сикорский Эдуард Александрович');
writeln('Группа РП-09-1/9 (28)');
readln;
goto m1;
end;
4:
begin
reset(f1);
max:=0;
for i:=1 to filesize(f1) do
begin
read(f1,a);
if a.kol>max then
max:=a.kol;
end;
textcolor(5);
writeln('');
writeln(' Max kol-vo tovara ');
writeln('');
writeln(' ',max:5:2,' ');
writeln('');
writeln('');
writeln(' Naimenovanie tovara s takim kol-vom ');
writeln('');
close(f1);
reset(f1);
for i:=1 to filesize(f1) do
begin
read(f1,a);
if a.kol=max then
writeln(' ',a.nazv:10,' ');
end;
writeln('');
close(f1);
readln;
textcolor(2);
Writeln('Выполнил студент:');
writeln('Сикорский Эдуард Александрович');
writeln('Группа РП-09-1/9 (28)');
readln;
goto m1;
end;
5:
else
goto m1;
end;
end.