Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
#1

Задача.Магический квадрат. - C++

15.11.2011, 19:35. Просмотров 819. Ответов 2
Метки нет (Все метки)

Хочу решить задачу.
http://atpp.vstu.edu.ru/cgi-bin/arh_problems.pl?id_prb=994.
Подскажите по какому принципу действовать?
С чего вообще начать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2011, 19:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача.Магический квадрат. (C++):

Задача с матрицей (магический квадрат) - C++
Дана матрица А целых чисел. Будет ли эта матрица магическим квадратом, тобто такой, у которой сумы элементов в каждой строке и столбце...

Магический квадрат - C++
Задача: Написать программу, которая определяет, явдяется ли заданная целочисленная квадратная матрица порядка N 'магическим квадратом',...

Магический квадрат - C++
Опишу проблему, первая лаба по Си++, в прошлом году был просто Си, в Си немного понимаю, а теперь прога которую над сделать, ну не...

Магический квадрат - C++
можно составить магический квадрат с первых 36 простых чисел? (сумма элементов которой в каждой срок, в каждом столбцы и по каждой...

Магический квадрат) - C++
Определить, является ли заданная квадратная матрица порядка n магическим квадратом, т.е. матрицей, у которой суммы элементов строк и...

Магический квадрат - C++
Задана матрица целых чисел. Определить является ли она магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и...

2
TwiX
60 / 60 / 1
Регистрация: 27.10.2011
Сообщений: 189
15.11.2011, 21:04 #2
Самое простое - перебор + рекурсия. Рискну предположить, что любой квадрат можно привести к магическому не более чем за ~10 ходов. А так как на каждом ходу возможно всего 12 вариантов, то в 3 секунды такая прога должна уложится.
Делаешь функцию:
bool FindMagicSquare(int *sq, int N);
Где sq - числа в квадрате, а N число итераций - сколько можно сделать функции. Если находит квадрат, то возвращает true.
И потом пишешь цикл:
C++
1
2
int i=0;
while (!FindMagicSquare(sq, ++i)) ;
В функцию ещё массив надо передавать, который ходы будет записывать.

Как-то писал решатель судоку похожим методом. Работает недолго, а вариантов там гораздо больше.
1
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
15.11.2011, 21:54  [ТС] #3
TwiX спасибо буду разбираться
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2011, 21:54
Привет! Вот еще темы с ответами:

Магический квадрат - C++
Всем привет! Вот во вторник экзамен по программированию, препод дала задачки разобрать пять штук, для подготоки, помогите если не сложно. ...

Магический квадрат - C++
прошу помочь в такой схеме решения магического квадрата. #include <iostream> using namespace std; #include <Windows.h> #include...

Магический квадрат - C++
с клавы вводиться число N. нужно сделать магический квадрат с размерами

Магический квадрат, предикаты - C++
Доброе время суток, господа. Молю вас о помощи. Есть сие задание: Составить программу для решения одной из следующих задач....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru