Дана целая квадратная матрица n-го порядка. Определить, является ли она магическим квадратом, т. е. такой матрицей, в которой суммы
106
318
Ответы на вопрос:
const
MAX=5;
var a:array[1..MAX,1..MAX] of integer;
n:integer;
ok:boolean;
i,j:integer;
sum:integer;
temp:integer;
begin
Write('Введите рамер матрицы (3..4)');
Readln(n);
Writeln('Введите строки матрицы!');
Writeln('После ввода ',n,' целых чисел нажимайте Enter!');
for i:=1 to n do
begin
Write('->');
for j:=1 to n-1 do
read(a[i,j]);
readln(a[i,n]);
end;
Ok:=True;
sum:=0;
for i:=1 to n do
sum:=sum+a[i,i];
{Вычисляем сумму по строкам}
i:=1;
repeat
temp:=0;
for j:=1 to n do
temp:=temp+a[i,j];
i:=i+1;
if temp <> sum then
ok:=False;
until (not ok) or (i>n);
if ok then
begin
j:=1;
repeat
temp:=0;
for i:=1 to n do
temp:=temp+a[i,j];
j:=j+1;
if temp <> sum then
ok:=False;
until (not ok) or (j>n);
if ok then
begin
temp:=0;
j:=n;
for i:=1 to n do
begin
temp:=temp+a[i,j];
j:=j-1;
end;
if temp<> sum then
ok:=False;
end;
end;
Write('Введенная матрица');
if not ok then
write('не');
Writeln('является магическим квадратом!');
readln;
end
MAX=5;
var a:array[1..MAX,1..MAX] of integer;
n:integer;
ok:boolean;
i,j:integer;
sum:integer;
temp:integer;
begin
Write('Введите рамер матрицы (3..4)');
Readln(n);
Writeln('Введите строки матрицы!');
Writeln('После ввода ',n,' целых чисел нажимайте Enter!');
for i:=1 to n do
begin
Write('->');
for j:=1 to n-1 do
read(a[i,j]);
readln(a[i,n]);
end;
Ok:=True;
sum:=0;
for i:=1 to n do
sum:=sum+a[i,i];
{Вычисляем сумму по строкам}
i:=1;
repeat
temp:=0;
for j:=1 to n do
temp:=temp+a[i,j];
i:=i+1;
if temp <> sum then
ok:=False;
until (not ok) or (i>n);
if ok then
begin
j:=1;
repeat
temp:=0;
for i:=1 to n do
temp:=temp+a[i,j];
j:=j+1;
if temp <> sum then
ok:=False;
until (not ok) or (j>n);
if ok then
begin
temp:=0;
j:=n;
for i:=1 to n do
begin
temp:=temp+a[i,j];
j:=j-1;
end;
if temp<> sum then
ok:=False;
end;
end;
Write('Введенная матрица');
if not ok then
write('не');
Writeln('является магическим квадратом!');
readln;
end
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Другие предметы
-
Znv25060511.05.2020 01:45
-
ром56910.03.2023 03:14
-
anet198316.06.2020 04:05
-
T0nystark10.09.2022 16:58
-
missiskitten09.03.2021 17:13
-
ролимов28.02.2021 16:52
-
alenalapshna215.06.2021 06:59
-
НасиблиНазрин200425.11.2021 23:22
-
Ataka425.12.2021 13:30
-
Anasxon200409.10.2022 11:40
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.