Написати програму і завантажити фото або скрін коду програми використовуючи онлайн компілятор http://cpp.sh/ * «Знайти суму чисел, кратні 7, від 10 до 30
Объяснение: всё дело в том, что в первом случае (в верхнем, где s = 0 написано вне цикла) s изначально равен нулю, а затем с каждой итерацией цикла s увеличивается.
А втором случае на каждой итерации цикла сначала присваивается s = 0, а затем уже изменяется. Поэтому перед каждой следующей итерацией цикла всё что происходило с s раньше обнуляется.
Если подвести итог, то разница заключается в том, что присваивание находится в цикле или вне него, а значит выполняется один раз (если вне цикла) или много раз (если внутри)
Const n=3; var a:array[1..n,1..n] of integer; i,j,min,s:integer; upsr,downsr,k:real; begin for i:=1 to n do for j:=1 to n do a[i,j]:=random(10); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:5); writeln; end; min:=a[1,1]; s:=0; for i:=1 to n do for j:=1 to n do begin if (a[i,j]<min) and (j>i) then min:=a[i,j]; end; for i:=1 to n do for j:=1 to n do if i<j then s:=s+a[i,j]; upsr:=s/((sqr(n)-n)/2); s:=0; for i:=1 to n do for j:=1 to n do if i>j then s:=s+a[i,j]; downsr:=s/((sqr(n)-n)/2); k:=sqr(downsr-upsr); writeln('минимальный элемент выше главной диагонали ',min); writeln('среднее арифметическое элементов выше главной диагонали ',upsr); writeln('среднее арифметическое элементов ниже главной диагонали ',downsr); writeln('квадрат разности средних арифметических значений элементов матрицы ',k); end.
Объяснение: всё дело в том, что в первом случае (в верхнем, где s = 0 написано вне цикла) s изначально равен нулю, а затем с каждой итерацией цикла s увеличивается.
А втором случае на каждой итерации цикла сначала присваивается s = 0, а затем уже изменяется. Поэтому перед каждой следующей итерацией цикла всё что происходило с s раньше обнуляется.
Если подвести итог, то разница заключается в том, что присваивание находится в цикле или вне него, а значит выполняется один раз (если вне цикла) или много раз (если внутри)
var a:array[1..n,1..n] of integer;
i,j,min,s:integer;
upsr,downsr,k:real;
begin
for i:=1 to n do
for j:=1 to n do a[i,j]:=random(10);
for i:=1 to n do begin
for j:=1 to n do write(a[i,j]:5);
writeln;
end;
min:=a[1,1];
s:=0;
for i:=1 to n do
for j:=1 to n do begin
if (a[i,j]<min) and (j>i) then min:=a[i,j];
end;
for i:=1 to n do
for j:=1 to n do
if i<j then s:=s+a[i,j]; upsr:=s/((sqr(n)-n)/2);
s:=0;
for i:=1 to n do
for j:=1 to n do
if i>j then s:=s+a[i,j];
downsr:=s/((sqr(n)-n)/2);
k:=sqr(downsr-upsr);
writeln('минимальный элемент выше главной диагонали ',min);
writeln('среднее арифметическое элементов выше главной диагонали ',upsr);
writeln('среднее арифметическое элементов ниже главной диагонали ',downsr);
writeln('квадрат разности средних арифметических значений элементов матрицы ',k);
end.