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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.67
KObotan
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 21
#1

Построение магического квадрата - C++

20.10.2010, 22:57. Просмотров 3133. Ответов 3
Метки нет (Все метки)

Помогите построить магический квадрат (магическим квадратом n-ого порядка называется квадрат размерами nxn со вписанными в него натуральными числами от 1 до n2 так, что сумма их по всем горизонталям, вертикалям и диагоналям квадрата равна одному и тому же числу.)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2010, 22:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Построение магического квадрата (C++):

Шифровать методом Магического квадрата (размер квадрата 9х9) С++ - C++
Шифровать методом Магического квадрата (размер квадрата 9х9) С++ Дана таблица 9х9. Надо реализовать программу на С++...

Генерация магического квадрата - C++
Написать программу, генерирующую магические квадраты заданного пользователем размера.

Доработать код для магического квадрата - C++
Вот задание дали для допуска на экзамен. 3. Магическим квадратом порядка n называется квадратная таблица размером n x n, состоящая из...

Шифрование текста с применением магического квадрата - C++
Задание: Магический квадрат. 11 8 5 10 2 13 16 3 14 1 4 15 7 12 9 6 Алгоритм:

Найти ошибку в коде определения магического квадрата - C++
Интересуют последние строки, при введении массива n=1, т.е. все будет равно и по условию должен быть магический квадрат, выводит, что он НЕ...

Площадь квадрата равна S. Вычислить сторону квадрата а, диагональ d и площадь S1 описанного около этого квадрата круга - C++
Напишите код в C++ Пожалуйста :confusion:

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
quazee
14 / 14 / 0
Регистрация: 15.10.2010
Сообщений: 49
20.10.2010, 23:20 #2
тебе к девиду блэйну или судоку открой
1
KObotan
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 21
21.10.2010, 16:20  [ТС] #3
За совет с судоку спасибо, а вот что такое девид блейн не вкурсе)
0
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
21.10.2010, 16:49 #4
Цитата Сообщение от KObotan Посмотреть сообщение
Помогите построить магический квадрат
писалось Ооочень давно,
не знаю почему так тогда сделал но выводятся квадраты только с нечетными сторонами
"ну это просто пример Вам"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
 
int main()
{
     int size=0;
     std::cout<<"Enter size square: ";
     std::cin>>size;
 
     if (!(size & 1)) {
         std::cerr<<"size should be even";
         std::cin.get();
         exit(1);
     }
 
     int max_size=size+(size-1);
 
     int**pMagic_square = new  int*[max_size];
     for (int i=0; i<max_size; i++)
        pMagic_square[i]=new int[max_size];
 
     int i;
     int j;
     for (i=0; i<max_size; i++)
     for (j=0; j<max_size; j++)
     pMagic_square[i][j]=0;
      int k=1;
     i=(max_size>>1);
     j=0;
     while (i<max_size){
         int i1=i;
         int j1=j;
         int gr=size>>1; //gr-расстояние от границы увеличенного массива
         while (j1<((j+(max_size>>1))+1)){
             pMagic_square[i1][j1]=k;
             if ((i1>(gr)) && (j1<(gr))) //left
                pMagic_square[i1][j1+size]=k;
             if ((i1>(size+gr)-1) && (j1>(gr)))
                pMagic_square[i1-size][j1]=k; //down
             if ((i1<(gr)) && (j1>(gr)))
                pMagic_square[i1+size][j1]=k; //up
             if ((i1>(gr)) && (j1>(size+gr)-1))
                pMagic_square[i1][j1-size]=k; //right
             --i1;
             ++j1;
             ++k;
         }
         ++i;
         ++j;
     }
     std::cout<<std::endl<<"Magic square: "<<std::endl<<std::endl;
     for (i=(size-1)>>1; i<=max_size-(size>>1)-1; i++ ){
         for (j=(size-1)>>1; j<=max_size-(size>>1)-1; j++ )
             std::cout << pMagic_square[i][j] << " ";
         std::cout << std::endl;
     }
 
     for (int i = 0; i < max_size; ++i)
        delete[] pMagic_square[i];
        delete[] pMagic_square;
 
     std::cin.get();
     return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2010, 16:49
Привет! Вот еще темы с ответами:

Разбить матрицу на квадраты размером 3х3; в центре каждого квадрата поместить сумму прочих элементов квадрата - C++
Есть задача: Заполнить матрицу случайными числами. Разбить матрицу на квадраты размером 3х3. В центре каждого квадрата поместить сумму...

Массивы. Заполнить, разбить на квадраты размером 3х3. В центре каждого квадрата поместить сумму остальных элементов квадрата - C++
Помогите уважаемые программисты написать &quot;Заполнить матрицу случайными числами. Розбить матрицу на квадраты размером 3х3. В центре каждого...

Найти двузначные числа, у которых сумма удвоенного квадрата первой цифры и квадрата второй цифры равен самому числу - C++
Найти двузначные числа, у которых сумма удвоенного квадрата первой цифры и квадрата второй цифры равен самому числу

Сравнить площадь круга и площадь квадрата , которые заданы сответствено радиусом r и стороной квадрата a - C++
сравнить площадь круга и площадь квадрата , которые заданы сответствено радиусом r и стороной квадрата a


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.10.2010, 16:49
Ответ Создать тему
Опции темы

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