Помощь - Поиск - Пользователи - Календарь
Полная версия: Магический квадрат
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
BIGKILLER
Помогите плизз!

Проверить является ли матрица NxM магическим квадратом.

P.S. магический квадрат - сумма эл-ов столбцов, строк, главной и побочной диагоналей равны.
P.P.S без процедур и функций (такое условие)
volvo
Ну, так вот воспользуйся поиском, найди мое решение с функцией, и преобразуй его в простую программу без функций...
BIGKILLER
Вот сделал сам, но подозреваю, что есть способ проще:
Цитата
program lol;
uses crt;
var
x,i,j,n,p:integer;
a:array[1..15,1..15] of integer;
b:array[1..50] of integer;
begin
clrscr;
write('Vvedite razmernost matricu: ');
readln(x);
for i:=1 to x do
for j:=1 to x do
begin
write('Vvedite a[',i,',',j,']: ');
readln(a[i,j]);
end;
clrscr;
writeln('Isxodnaya matrica:');
for i:=1 to x do
begin
for j:=1 to x do write(a[i,j]:4);
writeln;
end;

n:=1;
for i:=1 to x do
begin
for j:=1 to x do b[n]:=b[n]+a[i,j];
n:=n+1;
end;
for j:=1 to x do
begin
for i:=1 to x do b[n]:=b[n]+a[i,j];
n:=n+1;
end;
for i:=1 to x do
begin
b[n]:=b[n]+a[i,i];
for j:=1 to 5 do
if j=x+1-i then b[n+1]:=b[n+1]+a[i,i];
end;
p:=1;
for i:=1 to n do
if b[i]<>b[i+1] then p:=2;
if p=1 then writeln('Massiv yavlaetsya magi4eskim kvadratom.')
else writeln('Massiv ne yavlaetsya magi4eskim kvadratom.');
readkey;
end.


P.S.
Красным выделен фрагмент, который можно и не писать, просто так удобнее и красивее wink.gif .
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.