Найти в двумерном массиве случайных чисел сумму элементов каждого столбца - Pascal
Формулировка задачи:
Задание:
"Найти в двумерном массиве 5*6 случайных чисел сумму элементов каждого столбца, и после столбца с максимальной суммой вставить столбец из нулей"
Помогите пожалуйста. Завтра уже надо сдавать.
Решение задачи: «Найти в двумерном массиве случайных чисел сумму элементов каждого столбца»
textual
Листинг программы
uses crt; var a:array[1..100,1..100] of integer; b:array[1..100] of integer; i,j,n,m,max,tempj:integer; begin ClrScr; Randomize; repeat Write('n='); Readln(n); Write('m='); Readln(m); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(10)-2; Write(a[i,j]:4); end; Writeln; end; Writeln; for i:=1 to n do for j:=1 to m do b[j]:=b[j]+a[i,j]; max:=-1; for i:=1 to n do for j:=1 to m do if b[j]>max then begin max:=b[j]; tempj:=j; end; for i:=1 to m do Write(b[i]:4); Writeln; Writeln('Max ',max); Writeln('Tempj ',tempj); for i:=1 to n do for j:=1 to m do if (j>tempj) and (j<=tempj+1) then a[i,j]:=0; Writeln; for i:=1 to n do begin for j:=1 to m do begin Write(a[i,j]:4); end; Writeln; end; until (n>1) and (m>1); Readln; end.
Объяснение кода листинга программы
- Создается переменная
a
, которая представляет собой двумерный массив целых чисел размером 100x100. - Создается переменная
b
, которая представляет собой одномерный массив целых чисел размером 100. - Создаются три переменные
i
,j
иn
, которые будут использоваться для итерации по массивуa
. - В цикле
repeat
считываются значенияn
иm
с помощью функцииReadln()
. - Внутри цикла
for
происходит итерация по массивуa
. Для каждого элементаa[i,j]
выводится значение с помощью функцииWrite()
. - После каждой итерации выводится символ новой строки с помощью функции
Writeln()
. - Внутри цикла
for
происходит итерация по массивуb
. Для каждого элементаb[j]
выводится значение с помощью функцииWrite()
. - После каждой итерации выводится символ новой строки с помощью функции
Writeln()
. - В цикле
for
происходит сравнение значенияb[j]
с максимальным значениемmax
. Еслиb[j]
большеmax
, то обновляется значениеmax
и сохраняется индексtempj
. - После каждой итерации выводится символ новой строки с помощью функции
Writeln()
. - В цикле
for
происходит сравнение индексаj
с максимальным значениемtempj
. Еслиj
большеtempj
и меньше или равноtempj+1
, то для элементаa[i,j]
устанавливается значение0
. - После каждой итерации выводится символ новой строки с помощью функции
Writeln()
. - Цикл
while
продолжается до тех пор, покаn
больше1
иm
больше1
. - По завершении программы выводится символ новой строки с помощью функции
Readln()
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д