Вариант 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
Нужно больше? ) Подправьте соответствующие места в коде с учетом рекомендаций
указанных в фигурных скобках) )
Всех благ))
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
Нужно больше? ) Подправьте соответствующие места в коде с учетом рекомендаций
указанных в фигурных скобках) )
Всех благ))
Устанавливаю телепатическую связь.. . Сейчаз точно скажу на каком языке писать...
немедленно затуши сигарету а то не такое начнеться
1. решается делением с остатком на 2, если остаток есть, значить нечетное число
2. решается перебором элементов элементов массива в различных плоскостях, т е с различным смещением индекса
2. решается перебором элементов элементов массива в различных плоскостях, т е с различным смещением индекса
Похожие вопросы
- народ,срочно!нужна ваша помощь!вопрос жизни и смерти!
- ОЧЕНЬ СРОЧНО НУЖНА ПОМОЩЬ В C++ БУДУ ОЧЕНЬ БЛАГОДАРЕН !!!
- Очень срочно нужна помощь!! мне знает ли кто нибудь программу, чтобёпределять схожесть текста? конктерней эст список
- очень срочно нужна помощь по паскалю сижу на экзамене. дома буду обязательно отблагодарю и скину деньги если что
- Очень срочно нужна помощь в написании кода С++. Всё не вмещается, поэтому задание в пояснении. Помогите, пожалуйста!!
- Господа, программисты, неопытному юзеру ОЧЕНЬ нужна Ваше помощь - установила 2 Windows
- помогите пожалуйста кто смыслит в C# или в C++, очень нужна ваша помощь, нужен код программы, точнее двух
- Информатика."Найти значение логических выражений".Очень нужна ваша помощь!
- Вопрос по Visual Basic! Очень нужна ваша помощь! Внутри (+)
- Очень нужна ваша помощь, как относиться православие к киберспорту, не могу играть в игры если не будет серьезной...