Задача 13 - Pascal
Да се напише програма, която да извежда сумата на числата над основния диагонал на квадратна матрица.
program suma_diagonal;
const
n = 30;
var
A: array[1..n,1..n] of integer;
i,j,sum:integer;
begin
for i := 1 to n do
for j := 1 to n do
A[i][j] := Random(10);
sum := 0;
for i := 1 to n do
for j := i to n do
begin
if i < j then
sum := sum + A[i][j];
end;
WriteLn('The sum is: ', sum);
end.
Задачата се решеава елементарно с обхождане на матрицата и проверка на това дали числото попада в интервала (макар че проверката може да бъда избегната). Малка оптимизация е започването на втория цижъл от i вместо от 1. Програмата се компилира под FreePascal:
aquilax@think /d/p/z/13_suma_diagonal> fpc 13_suma_diagonal.pas
Free Pascal Compiler version 2.4.0-2 [2010/03/06] for x86_64
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling 13_suma_diagonal.pas
Linking 13_suma_diagonal
19 lines compiled, 0.1 sec
aquilax@think /d/p/z/13_suma_diagonal> ./13_suma_diagonal
The sum is: 2023
Няма коментари:
Публикуване на коментар