Крамова Алсу Илдаровна, МБОУСОШ имени Ангама Атнабаева села Старый Курдым. :

advertisement
Крамова Алсу Илдаровна, МБОУСОШ имени Ангама Атнабаева села Старый Курдым.
e-Mail: ai.karamova@kurdym.ru
Работа выполнена на языке Паскаль.
Задание 1
Разработайте программу, которая формирует таблицу 10 на 10, заполняет ее случайными числами
и сортирует по строкам.
Program sort1;
var a:array[1..10,1..10]of integer;
n,m,j,i,t,k:integer;
begin
randomize;
m:=10;
n:=10;
for i:=1 to m do
for j:=1 to n do
begin
a[i,j]:=random(101);
end;
writeln('Таблица заполнена случайными числами');
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:5);
writeln;
end;
for j:=1 to n do
for i:=1 to m-1 do
for k:=i+1 to m do
if a[j,i]>a[j,k] then
begin
t:=a[j,k];
a[j,k]:=a[j,i];
a[j,i]:=t;
end;
k:=1;
writeln;
writeln('Таблица отсортирована по стокам');
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:5);
writeln;
end;
end.
Задание 2
Разработайте программу, которая формирует таблицу 10 на 10, заполняет ее случайными числами
и сортирует по столбцам.
Program sort2;
var a:array[1..10,1..10]of integer;
n,m,j,i,t,k:integer;
begin
randomize;
m:=10;
n:=10;
for i:=1 to m do
for j:=1 to n do
begin
a[i,j]:=random(101);
end;
writeln('Таблица заполнена случайными числами');
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:5);
writeln;
end;
for j:=1 to n do
for i:=1 to m-1 do
for k:=i+1 to m do
if a[i,j]>a[k,j] then
begin
t:=a[i,j];
a[i,j]:=a[k,j];
a[k,j]:=t;
end;
k:=1;
writeln;
writeln('Таблица отсортирована по столбцам');
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:5);
writeln;
end;
end.
Задание 3
Разработайте программу, которая формирует таблицу 10 на 10, заполняет ее случайными числами
и находит наибольшие четные значения в каждом столбце.
Program sort3;
var a:array[1..10,1..10]of integer;
b:array[1..10]of integer;
n,m,j,i,t,k:integer;
begin
randomize;
writeln('Таблица заполнена случайными числами');
for i:=1 to 10 do begin
for j:=1 to 10 do begin
a[i,j]:=random(101);
write(a[i,j]:5);
end;
writeln;
end;
for j:=1 to 10 do begin t:=0;
for i:=1 to 10 do begin
if a[i,j] mod 2=0 then if a[i,j]>t then t:=a[i,j];
end;
b[j]:=t;
end;
writeln('Наибольшие четные значения в каждом столбце');
for j:=1 to 10 do
write(b[j]:5);
writeln;
end.
Download