Другие языки программирования и технологии

Очень срочно нужна Ваша помощь!!!

Вариант 11.
1. Разработать программу формирования нового массива В из исходного массива целого типа А, так чтобы массив В содержал только четные элементы массива А.
2. Определить, является ли заданная целая квадратная матрица n-го порядка магическим квадратом, т. е. такой матрицей, сумма элементов в каждой строке, столбце и диагонали одинаковыми.
var
sumColumn, sum_line:array [1..7]of integer;
A:array[1..7,1..7]of integer;
x,y,Diagonal1,Diagonal2:integer;
fail:boolean;
begin
{poisk 4etnix ementov}
randomize;
y:=1;
writeln('Isxodnaya matritsa:');
for x:=1 to 7 do begin
SumColumn[x]:=random(1000);
if SumColumn[x] mod 2 = 0 then begin
sum_line[y]:=SumColumn[x];
y:=y+1;
end;
write(SumColumn[x],' ');
end;
writeln;
writeln('Parnie elementu:');
for x:=1 to y-1 do begin
write(sum_line[x],' ');
end;

writeln;
writeln('Najmite ENTER dlya prodoljeniya');
readln;
{magi4eskiy kvadrat}
Diagonal1:=0;
Diagonal2:=0;
for X:=1 to 4 do
for y:=1 to 4 do begin
write('input element[',x,',',y,']');
readln(A[x,y]);
end;
for x:=1 to 4 do begin
sum_Line[x]:=0;
sumColumn[x]:=0;
for y:=1 to 4 do begin
sum_Line[x]:=sum_line[x]+A[x,y];
sumColumn[x]:=SumColumn[x]+A[y,x];
if x=y then Diagonal1:=Diagonal1+A[x,y];
{pobo4naya diagonal = summa indeksov=razmer matritsu+1}
if x+y=5 then Diagonal2:=Diagonal2+A[x,y];

end;{y}
end;{x}
fail:=(diagonal1<>diagonal2);
for x:=1 to 4 do begin
if fail then break;
{esli diagonali odinakovi to dostato4no sravnit 1 iz
nix s summoi 4isel kajdoi linii i stroki}
fail:=(diagonal1<>sum_line[x])or(diagonal1<>SumColumn[x]);
end;
if fail then
writeln('NOT magic square')
else
writeln('Its magic square!');
readln;
end.
Проверяла на магических квадратах из Википедии) )
Алгоритм правильный) ) Написано для матрицы 4Х4
Нужно больше? ) Подправьте соответствующие места в коде с учетом рекомендаций
указанных в фигурных скобках) )
Всех благ))
Виктор Михайлов
Виктор Михайлов
2 602
Лучший ответ
Устанавливаю телепатическую связь.. . Сейчаз точно скажу на каком языке писать...
Мирон Раудсепп
Мирон Раудсепп
50 385
немедленно затуши сигарету а то не такое начнеться
Олег Уваров
Олег Уваров
8 138
1. решается делением с остатком на 2, если остаток есть, значить нечетное число
2. решается перебором элементов элементов массива в различных плоскостях, т е с различным смещением индекса
Vitalii Tsipoviaz
Vitalii Tsipoviaz
1 277

Похожие вопросы