Пример 7.2.
Вывести квадратную матрицу X размером N в виде таблицы. Вычислить и вывести сумму первых положительных элементов нечетных столбцов матрицы и обнулить элементы, размещенные над суммируемыми элементами.
Листинг программы
program prg_7_2;
{$mode objfpc}{$H+}
uses
Classes, SysUtils, RusTrans;
const NN=30;
var
i,j,k,l,n,s: integer;
x:array[1..NN,1..NN] of integer;
begin
writeln (Rus(‘Введите размер массива n’));
readln(n);
writeln;
randomize;
for i:=1 to n do // Формирование матрицы
for j:=1 to n do x[i,j]:=50-random(100);
for i:=1 to n do // Вывод матрицы
begin
for j:=1 to n do write(x[i,j]:4);
writeln;
end;
s:=0; // Инициализация суммы
for j:=1 to n do
begin
if j mod 2=0 then continue; // Пропустить четные столбцы
for i:=1 to n do
begin
if x[i,j]>0 then
begin
s:=s+x[i,j]; // Суммирование
break; // Досрочный выход из цикла
end;
x[i,j]:=0; // Обнуление элемента матрицы
end;
end;
writeln;
writeln(Rus(‘Сумма=’),s);
writeln;
for k:=1 to n do
begin // Вывод измененной матрицы
for l:=1 to n do write(x[k,l]:4);
writeln;
end;
readln;
end.
Консоль перед закрытием программы:
По нему нужно проверить правильность исполнения алгоритма.
Выводы
Массив – это набор компонент одинакового типа. Размерность массива ограничена только доступной памятью.
Для обработки массивов применяются инструкции циклов с известным числом повторений. При использовании инструкций циклов можно применять процедуры:
- continue для перехода к следующей итерации в цикле,
- break для досрочного выхода из цикла.
Матрицы наглядно отображаются в табличной форме. Для вывода матриц в таком виде используются инструкции:
- write для размещения нескольких элементов в одной строке текста,
- writeln для перехода к другой строке.