Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2012, 18:30   #1
ДеТкА
Новичок
Джуниор
 
Регистрация: 12.06.2012
Сообщений: 3
По умолчанию магический квадрат

Магический квадрат. Магическим квадратом порядка n называется квадратная таблица
размером n?n, состоящая из чисел 1,2,…, n2 так, что суммы по каждому столбцу, каждой
строке и каждой из двух диагоналей равны между собой. Проверить, является ли заданная
целочисленная квадратная матрица магическим квадратом
ДеТкА вне форума Ответить с цитированием
Старый 12.06.2012, 19:19   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

редкий случай, когда алгоритм решения фактически уже описан в условии задачи. найдите сумму главной диагонали (или первой строки (или первого столбца). а потом в цикле находите суммы элементов по строкам, потом по столбцам, каждый раз сравнивая с найденной первой суммой. Если не совпала - сообщение о том, что "не магический квадрат" и прерывание. Дошли до конца всех циклов (значит, все суммы совпадали) - квадрат магический.

а что, собственно, у Вас не получается?! не знаете, как найти сумму элементов по столбцу? или как найти сумму по строке?

для затравочки поиск суммы по главной диагонали:
Код:
  sum1 := 0;
  for i:=1 to n do
        sum1 := sum1 + a[i,i];
....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.06.2012, 19:23   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
а что, собственно, у Вас не получается?! не знаете, как найти сумму элементов по столбцу? или как найти сумму по строке?
отвечу за ТС, у неё не получается всё, кроме кросспостинга, называния тем не по правилам и клоноводства.
Poma][a вне форума Ответить с цитированием
Старый 13.06.2012, 14:16   #4
SlavaSSU
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 46
По умолчанию

делал такую лабу) вроде можно проверить только строки и столбцы, и если суммы равны, то на диагоналях будут те же суммы)
НИУ СГУ им. Чернышевского
SlavaSSU вне форума Ответить с цитированием
Старый 13.06.2012, 15:29   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
вроде можно проверить только строки и столбцы, и если суммы равны, то на диагоналях будут те же суммы)
Вы ошибаетесь.

в качестве наглядного примера прошу рассмотреть такую матрицу:
Код:

1 3 2
2 1 3
3 2 1
сумма по главной явно не равна 6 (как по строкам/столбцам)
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Магический квадрат VIK_aka_TOR Помощь студентам 1 15.04.2011 23:53
Магический квадрат morgan97 Паскаль, Turbo Pascal, PascalABC.NET 5 09.04.2011 17:10
Магический квадрат Nur_lan_ Фриланс 7 17.01.2010 21:47
Магический квадрат Arman Tokanov Помощь студентам 7 27.10.2009 15:42
Магический квадрат Гаджи Помощь студентам 5 24.10.2009 09:46