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

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

Войти
Регистрация
Восстановить пароль
 
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
#1

магический квадат - C++

15.10.2009, 16:59. Просмотров 866. Ответов 12
Метки нет (Все метки)

напиштите плиз кто знает програму ,которая делает магический квадрат чётного порядка(матрица)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2009, 16:59     магический квадат
Посмотрите здесь:

Магический квадрат C++
Магический квадрат C++
Магический квадрат) C++
C++ Магический квадрат
C++ Задача.Магический квадрат.
Магический квадрат C++
C++ Магический квадрат
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
7153 / 3293 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
15.10.2009, 21:28     магический квадат #2
Магический квадрат - это что ?
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
15.10.2009, 21:35     магический квадат #3
odip, http://ru.wikipedia.org/wiki/%D0%9C%...80%D0%B0%D1%82
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
15.10.2009, 21:38     магический квадат #4
Название: 91f71eabb97a78ed4a16806dc7dc8dc0.png
Просмотров: 104

Размер: 899 байт
вот формула тебе из вики,а дальше-сам
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
15.10.2009, 21:41     магический квадат #5
Сумма чисел в каждой строке, столбце и на диагоналях, называется магической константой, M

Добавлено через 1 минуту
кстати там когда для этого на ПХП есть
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
15.10.2009, 22:32  [ТС]     магический квадат #6
y menia est' algoritm dlia ne4etnogo mag. kvadrata , a dlia 4etnogo neznau kakoi (((
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
16.10.2009, 07:41     магический квадат #7
Pavel1133, код есть?Выложи
Zhenya777
1 / 1 / 0
Регистрация: 11.08.2009
Сообщений: 43
16.10.2009, 11:41     магический квадат #8
Может не совсем в тему, но я дума должно помочь.

Добавлено через 1 час 44 минуты
ой http://www.youtube.com/user/teantong#p/u/4/bF5d0tiGiJA вот так =)
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
17.10.2009, 00:05  [ТС]     магический квадат #9
Цитата Сообщение от Zhenya777 Посмотреть сообщение
а причём это к моей задачи?


Цитата Сообщение от МедведЪ Посмотреть сообщение
Pavel1133, код есть?Выложи
попоже , тетрадь не у меня покачто (((
Zhenya777
1 / 1 / 0
Регистрация: 11.08.2009
Сообщений: 43
17.10.2009, 01:54     магический квадат #10
Как мне кажется принцип такой же(может конечно я не прав)
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
17.10.2009, 10:04     магический квадат #11
Pavel1133, ладно а счет формулы то так можно
m[n]=(n*(n^2+1))/2
odip
Эксперт С++
7153 / 3293 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
17.10.2009, 21:46     магический квадат #12
Сумма чисел в каждой строке, столбце и на диагоналях, называется магической константой, M
Я-то знаю, хотелось выяснить знает ли это автор топика
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2009, 00:34     магический квадат
Еще ссылки по теме:

C++ Магический квадрат, предикаты
C++ Задача с матрицей (магический квадрат)
C++ Магический квадрат матрицы
Магический квадрат C++
Магический квадрат C++

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

Или воспользуйтесь поиском по форуму:
G-Cat
16 / 16 / 1
Регистрация: 15.03.2009
Сообщений: 94
18.10.2009, 00:34     магический квадат #13
на первом курсе решал подобную задачу...код грамоздкий и неудобный (понятно дело, я тогда ещё был глупенький и маоленький), но если надо могу оптимизировать, а так вот:
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <iostream>
#define n 3
 
using namespace std;
 
int main(int argc, char *argv[])
{
    /*ГЋГЇГЁГ±Г*Г*ГЁГҐ ïåðåìåГ*Г*ûõ*/
    
    int a[n][n], i, j, m, s1, s2, s3, s4, r;
    
    /*ГЌГ*õîæäåГ*ГЁГҐ Г¬Г*ãè÷åñêîé ГЄГ®Г*Г±ГІГ*Г*ГІГ» äëÿ ГЄГўГ*äðГ*ГІГ**/
    
    m = (n * (n * n + 1)) / 2;
    
    /*Ââîä åëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ* (ГЄГўГ*äðГ*ГІГ*)*/
    
    for (i = 0; i < n; i++)
    {
                
        for (j = 0; j < n; j++)
        {
            cin >> a[i][j];
        }
                
    }
    
    r = 0;
    
    /*ÑðГ*ГўГ*ГЁГўГ*Г*ГЁГҐ ГўГ±ГҐГµ ãîðèçîГ*ГІГ*ëüГ*ûõ Г·ГЁГ±ГҐГ« ГЄГўГ*äðГ*ГІГ* Г± Г¬Г*ãè÷åñêîé ГЄГ®Г*Г±ГІГ*Г*òîé*/
    
    for (i = 0; i < n; i ++)
    {
        s1 = 0;
        
        for (j = 0; j < n; j++)
        {
            s1 = s1 + a[i][j];
        }
        
        if (s1 != m)
        {
               r = 1;
               break;
        }
    }
    
    /*ÑðГ*ГўГ*ГЁГўГ*Г*ГЁГҐ ГўГ±ГҐГµ âåðòèêГ*ëüГ*ûõ Г·ГЁГ±ГҐГ« ГЄГўГ*äðГ*ГІГ* Г± Г¬Г*ãè÷åñêîé ГЄГ®Г*Г±ГІГ*Г*òîé*/
    
    if (r < 1)
    {
          
          for (i = 0; i < n; i++)
          {
              s2 = 0;
        
              for (j = 0; j < n; j++)
              {
                  s2 = s2 + a[j][i];
              }
        
              if (s2 != m)
              {
                     r = 1;
                     break;
              }
          }
    }
    
    /*ÑðГ*ГўГ*ГЁГўГ*Г*ГЁГҐ äèГ*ГЈГ®Г*Г*ëåé ГЄГўГ*äðГ*ГІГ* Г± Г¬Г*ãè÷åñêîé ГЄГ®Г*Г±ГІГ*Г*òîé*/
    
    if (r < 1)
    {
          j = 0;
          s3 = 0;
          
          for (i = 0; i < n; i++)
          {
              s3 = s3 + a[i][j];
              j++;  
          }
          
          if(s3 == m)
          {
                j = n - 1;
                s4 = 0;
                
                for (i = 0; i < n; i++)
                {
                    s4 = s4 + a[i][j];
                    j--;
                }
                
                if (s3 != s4)
                {
                       r = 2;
                }
          }
    }
    
    /*Âûâîä ðåçóëüòГ*òîì Гў Г§Г*âèñèìîñòè îò âû÷èñëåГ*ГЁГ©*/
    
    switch (r)
    {
           case 0:
                cout << "Kvadrat magicheskiy" << "\n";
                break;
           case 1:
                cout << "Kvadrat ne magicheskiy...poprobuyte zanovo" << "\n";
                break;
           case 2:
                cout << "Kvadrat polumagicheskiy" << "\n";
                break;
    }
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Yandex
Объявления
18.10.2009, 00:34     магический квадат
Ответ Создать тему
Опции темы

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