В заданной прямоугольной таблице найти сумму диагональных элементов - Free Pascal
Формулировка задачи:
В заданной прямоугольной таблице найти сумму диагональных элементов.
Решение задачи: «В заданной прямоугольной таблице найти сумму диагональных элементов»
textual
Листинг программы
var
A: array of array of longint;
F: text;
N, ans, k: longint;
procedure InputData;
begin//Ввод матрицы из файла input.txt . 1ая строка файла - размеры матрицы (N).
Assign(F, 'input.txt');
Reset(F);
Readln(F, N);
SetLength(A, N + 1, N + 1);
for N := 1 to N do for k := 1 to N do Read(F, A[N, k]);
close(F);
end;
procedure ProcessData;
begin
for K := 1 to N do ans := ans + A[k, k];
for k := N downto 1 do ans := ans + A[k, k];
end;
procedure OutPutData;
begin
Write('Sum = ', Ans);
end;
begin
ans := 0;
InputData;
ProcessData;
OutPutData;
end.
Объяснение кода листинга программы
- Ввод матрицы из файла input.txt, 1-я строка файла - размеры матрицы (N).
- Создание матрицы A размером N+1 на N+1.
- Чтение матрицы из файла в массив A.
- Закрытие файла F.
- Суммирование диагональных элементов матрицы A, начиная с верхнего левого угла и заканчивая правым нижним углом.
- Вывод результата на экран.