Вычислить сумму квадратов элементов матрицы, принадлежащих промежутку (E,F] - Free Pascal
Формулировка задачи:
Хелпуйте)
0) Надо вычислить сумму квадратов элементов, принадлежащих промежутку (E,F]
1) Вычислить сумму элементов t-ого столбца (t через readln)
В совокупности с этим кодом)
var N, i, j, E, F, t: integer;
A: array[1..20, 1..20] of integer;
begin
write(' N = ');
readln(N);
write(' K = ');
readln(K);
write(' L = ');
readln(L);
writeln;
writeln('Исходная матрица:');
writeln;
randomize;
for i := 1 to N do
begin
for j := 1 to N do
begin
a[i, j] := -10 + random(51);
write(a[i, j]:4);
end;
writeln;
end;
writeln;
end.Решение задачи: «Вычислить сумму квадратов элементов матрицы, принадлежащих промежутку (E,F]»
textual
Листинг программы
const nn=20;
var
n, e, f, s, t, i, j: Integer;
a: array [1..nn,1..nn] of Integer;
begin
Randomize;
repeat Write('N [1-',nn,']: '); Read(n); until n in [1..nn];
WriteLn('A =');
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=-10+Random(51); Write(a[i,j]:4);
end; WriteLn;
end;
Write('E F: '); ReadLn(e,f);
repeat Write('T [1-',n,']: '); Read(t); until t in [1..n];
s:=0; for i:=1 to n do for j:=1 to n do if (a[i,j]>e) and (a[i,j]<=f) then s:=s+Sqr(a[i,j]);
WriteLn('Сумма квадратов элементов из (',e,';',f,']: ',s);
s:=0; for i:=1 to n do s:=s+a[i,t];
WriteLn('Сумма элементов столбца ',t,': ',s);
end.
Объяснение кода листинга программы
- Объявляются константы и переменные:
- nn - размер матрицы
- n - номер строки для вычисления суммы квадратов
- e, f - границы для вычисления суммы квадратов
- s - сумма квадратов
- t - номер столбца для вычисления суммы
- i, j - индексы элементов матрицы
- a - матрица
- С помощью цикла repeat-until считывается номер строки для вычисления суммы квадратов.
- С помощью двух вложенных циклов заполняется матрица случайными числами от -10 до 10.
- С помощью цикла repeat-until считываются границы для вычисления суммы квадратов.
- С помощью двух вложенных циклов вычисляется сумма квадратов элементов, удовлетворяющих условию (a[i,j]>e) and (a[i,j]<=f).
- С помощью цикла repeat-until считывается номер столбца для вычисления суммы.
- С помощью выражения s:=s+a[i,t] вычисляется сумма элементов столбца.
- Выводится результат вычислений.