Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача по паскалю
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Elementary
Условие:Дана матрица размером 7х7 элементов, случайным образом заполненная. Просчитать сумму элементов вспомогательной диагонали (i:=n-j+1), определите количество элементов > сумма/3.
Решение:
program matr;
var e,m,x,i,j:integer;
A:array[1..7,1..7]of integer;
begin
for i:= 1 to 7 do
begin
for j:= 1 to 7 do
begin
A[i,j]:=random(10);
write(' ',A[i,j]);
end;
writeln;
end;

for i:= 1 to 7 do
m:=m+A[i,8-j];

for i := 1 to 7 do
for j:= 1 to 7 do
if A[i,j]> (m/3) then
e:=e+1;

writeln('Сумма ', m);
writeln('>Сумма/3 ',e);
end.

Правильно решил?
Krjuger
Нет не правильно, у вас диагональ не та.
По вашему коду
Цитата
for i:= 1 to 7 do
m:=m+A[i,8-j];

как вы можете вычитать j если у вас оно не меняется, вы выводите просто 1 столбец вашей матрицы.
В вашем же задании дана подсказка.
(i:=n-j+1), что говорит нам о том, что j менятся, а i зависит вот в таком вид поэтому должно выглядеть так:

for j:= 1 to 7 do
m:=m+A[8-j,j];

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.