IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Магический квадрат
BIGKILLER
сообщение 12.12.2006 17:09
Сообщение #1


Гость






Помогите плизз!

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

P.S. магический квадрат - сумма эл-ов столбцов, строк, главной и побочной диагоналей равны.
P.P.S без процедур и функций (такое условие)
 К началу страницы 
+ Ответить 
volvo
сообщение 12.12.2006 17:19
Сообщение #2


Гость






Ну, так вот воспользуйся поиском, найди мое решение с функцией, и преобразуй его в простую программу без функций...
 К началу страницы 
+ Ответить 
BIGKILLER
сообщение 12.12.2006 20:58
Сообщение #3


Гость






Вот сделал сам, но подозреваю, что есть способ проще:
Цитата
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 .
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 4:12
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"