В смысле расставить комментарии по коду, что ль? Пожалуйста, вот для 9 задачи.
| Код | program pr9; {название программы} const n=5; {объявление целочисленной константы} var a:array[1..n] of integer; {объявление массива из 5 элементов целого типа} i,j:integer; {две переменные целого типа} procedure search; {начало процедуры SEARCH} begin if a[i]>a[1] then begin {если текущий элемент больше первого} a[1]:=a[i]; {первому элементу присвоить текущий элемент} j:=i; {запомнить номер текущего элемента в переменной} end; end; begin for i:=1 to n do begin {цикл от 1 до 5 по массиву} write('Vvedite ',i,'-iy element'); {выводим приглашение} readln(a[i]); {вводим в массив текущий элемент} end; for i:=2 to n do search; {цикл с 2 до 5 по массиву. В цикле работает SEARCH.} writeln('Maksimalniy element c nomerom ',j,' = ',a[1]); {выводим макс. элемент и его номер} end.
|
Только этот же код можно проще написать. Без процедур, Или надо обязательно с ними?
Добавлено @ 21:07 Для задачи 10:
| Код | program pr10; {название программы} uses crt; {подключение модуля CRT} const n=10; {объявление целочисленной константы} var sw,i,j:integer; {три переменных целого типа} a:array[1..n,1..n] of integer; {двумерный массив 10х10} procedure swap; {процедура, меняющая элементы массива местами} begin sw:=a[i,j]; {получаем текущий элемент} a[i,j]:=a[j,i]; {текущему элементу присваиваем следующий} a[j,i]:=sw; {следующему присваиваем текущий} end; begin clrscr; {очищаем экран} randomize; {устанавливаем датчик случайных чисел} writeln; {выводим пустую строку} for i:=1 to n do begin {цикл по столбцам массива} for j:=1 to n do begin {цикл по строкам массива} a[i,j]:=random(9); {в текущий элемент вводим случайное число от 0 до 9} write(a[i,j],''); {выводим текущий элемент} end; writeln; {выводим пустую строку} end; writeln; {еще пустая строка} for i:=2 to n do begin {цикл по столбцам от 2} for j:=1 to i-1 do begin {цикл от 1 до i-1} swap; {меняем элементы местами} end; end; for i:=1 to n do begin {цикл по массиву для вывода элементов} for j:=1 to n do write(a[i,j]); writeln; end; end.
|
Добавлено @ 21:15 B для задачи 11:
| Код | program pr11; {название} uses crt; {подключение модуля CRT} const n=5; {целочисленная константа} var i,j,u:integer; {три переменные целого типа} a,b,c:array[1..n,1..n] of real; {три двумерных массива типа Real, т.е. с числами с плавающей точкой} function calcA:real; {функция, возвращающая результат типа Real} begin calcA:=(i-j)/(i+j); {возвращаем частное от разности и суммы элементов массива} end; function calcB:real; {функция типа Real} begin calcB:=i*j/(2*i+j); {возвращаем произведение I на частное J от суммы 2I и J} end; begin clrscr; {очистка экрана} for i:= 1 to n do begin {пробегаемся по массивам A и B} for j:=1 to n do begin a[i,j]:=calcA; {применяем функции} b[i,j]:=calcB; write(a[i,j]:6:2); {форматированно выводим текущий элемент} end; writeln; {пара пустых строк} writeln; end; writeln; {то же самое} writeln; for i:= 1 to n do begin {пробег по массиву B} for j:=1 to n do begin write(b[i,j]:6:2); {вывод текущего элемента (странно, зачем снова?)} end; writeln; {пара пустых строк} writeln; end; writeln; {то же самое} writeln; for i:=1 to n do begin {пробег по массиву C} for j:=1 to n do begin for u:=1 to n do c[i,j]:=c[i,j]+a[i,u]*b[u,j]; {вложенный цикл, оперирующий с элементами массива} write(c[i,j]:6:2); {вывод текущего элемента} end; writeln; {пара пустых строк} writeln; end; end.
|
|