Документ Microsoft Word (3)

advertisement
ФГБОУ ВПО «БГПУ» им. М. Акмуллы
Центр развития одаренности школьников
ЗАДАНИЯ
2 тура дистанционной олимпиады по программированию
для 10-11 классов
Ф.И.О: Сафина Алсу Венеровна
Российская Федерация Республики Башкортостан г.Мелеуз
МОБУ Лицей№6
Задание 1
var
a:array [1..10,1..10] of integer;
i,j,k,c:integer;
begin
for i:=1 to 10 do begin
for j:=1 to 10 do begin a [i,j]:=random(100);
write(a[i,j]:5);
end;
writeln;
end;
writeln;
for i:=1 to 10 do
for J:=1 to 10 do
for k:=j to 10 do begin
if a[i,j]>a[i,k] then begin
c:=a[i,j];
a[i,j]:=a[i,k];
a[i,k]:=c;
end;
end;
for i:=1 to 10 do begin
for j:=1 to 10 do write(a[i,j]:5);
writeln;
end;
end.
Задание 2
const
L=10;
var
mas:array[1..L, 1 ..L] of integer;
i,j,k:integer;
begin
randomize;
for i:=1 to L do {i строка j столбец}
begin writeln;
for J:=1 to L do
begin
mas[i,j]:=random(90)+10; {заполнение случайными числами в
диапазоне от 10 до 99}
write(mas[i,j]:3);{вывод на экран}
end;end;
for j:=1 to L do {цикл просмотра стобцов}
for i:=1 to L-1 do {алгоритм сортировки метод пузырка}
for k:=L-1 downto i do
if mas[k+1,j]<mas[k,j] then
begin mas[k,j]:=mas[k,j]+mas[k+1,j]; mas[k+1,j]:=mas[k,j]mas[k+1,j];
mas[k,j]:=mas[k,j]-mas[k+1,j]; end;writeln;
for i:=1 to L do {вывод отсортированного массива}
begin writeln;
for J:=1 to L do
write(mas[i,j]:3)
end;
end.
ЗАДАНИЕ 3
const
n=10;
var
mas:array[1..n, 1 ..n] of integer;
i,j,k, m:integer;
fch:boolean;
begin
randomize;
writeln('Заполненный массив');
for i:=1 to n do {i строка j столбец}
begin
writeln;
for J:=1 to n do
begin
mas[i,j]:=random(90)+10; {заполнение случайными числами в
диапазоне от 10 до 99}
write(mas[i,j]:3);{вывод на экран}
end;
end;
writeln;
writeln;
writeln('Отсортированный массив');
for j:=1 to n do {цикл просмотра стобцов}
for i:=1 to n-1 do {алгоритм сортировки метод пузырка}
for k:=n-1 downto i do
if mas[k+1,j]>mas[k,j] then begin
mas[k,j]:=mas[k,j]+mas[k+1,j];
mas[k+1,j]:=mas[k,j]-mas[k+1,j]; mas[k,j]:=mas[k,j]-mas[k+1,j];
end;
for i:=1 to n do {вывод отсортированного массива}
begin writeln;
for J:=1 to n do write(mas[i,j]:3)
end; writeln; writeln;
writeln('Наибольшое четное значения в каждом столбце'); for j:=1
to n do
begin i:=1;
fch:=true; while (i<=n) and fch do
if mas[i,j] mod 2 =0 then fch:=false else inc(i);
if fch then writeln('в ',j,' столбце нет четного элемента')
else writeln('в ', j,' стобце мах четный = ',mas[i,j] )end;
end.
Download