|
|||
begin. fori:=1 ton do. forj:=1 tom do begin. fori:=1 toN do begin. fori:=1 ton do. forj:=1 ton do. fori:=1 ton do. forj:=1 ton do. ifi<j then. fori:=1 ton do. forj:=1 ton do ⇐ ПредыдущаяСтр 2 из 2 begin fori: =1 ton do forj: =1 tom do begin write('A[', i, ', ', j, ']='); read(A[i, j]); end; sum_max: = -1; stroka: = 0; fori: =1 toN do begin s: = 0; forj: =1 toM do s: = s + a[i, j]; ifs > sum_max then begin sum_max: = s; stroka: = i; end; end; writeln('Строка ', stroka, ', сумма ', sum_max); end. Пример 3: Напишите программу, которая заполняет квадратную матрицу случайными числами, а затем записывает нули во все элементы выше главной диагонали [1]. Решение: описываем матрицу и используемые переменные и задаем им тип данных integer. A – матрица элементов, n – количество строк и столбцов в квадратной матрице. Заполняем матрицу случайными числами в диапазоне от 0 до 100 и выводим результат на экран. Главную диагональ квадратной матрицы составляют элементы, у которых номера строк и столбцов совпадают. Выше главной диагонали расположены элементы, у которых номер столбца больше, чем номер строки. Находим данных элементы и приравниваем их к нулю. В результате, на экран выводим матрицу, у которой все элементы выше главной диагонали равны нулю. Блок-схема алгоритма (рис. 3) Рисунок 3 – блок-схема 3 Запишем программу на языке Паскаль: constn=4; varA: array[1.. n, 1.. n] ofinteger; i, j: integer; begin writeln('Исходная матрица: '); randomize; fori: =1 ton do begin forj: =1 ton do begin a[i, j]: =random(100); write(a[i, j]: 3); end; writeln; end; fori: =1 ton do forj: =1 ton do ifi< j then a[i, j]: =0; writeln ('Итоговая матрица: '); fori: =1 ton do begin forj: =1 ton do write(a[i, j]: 3); writeln; end; end.
|
|||
|