Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
6 / 6 / 1
Регистрация: 28.09.2018
Сообщений: 396
1

Магический квадрат. Где ошибка?

09.03.2019, 23:12. Показов 459. Ответов 0

Author24 — интернет-сервис помощи студентам
Последняя версия:

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
/*...Магия квадратов.*/
    
#include <stdio.h>
#include <conio.h>
#define n 5
#include <stdlib.h>
#include <time.h>
 
int main (void) {
    
    int arr[n][n], i, j, sum_main = 0, sum;
    srand(time(NULL));
    
    //.Случайно заполняет первую строку
 
    while (1) {
 
    for ( i = 0, j = 0 ; j < n ; j++ ) {
        
            arr[i][j] = rand()%10; 
            sum_main += arr[i][j];
    }
 
    
    do {    //... Специальное заполнение строк от 2 до последней ...
 
    for ( i = 1 ; i < n ; i++ ) {
    
        sum = 0;
        for ( j = 0 ; j < n ; j++ ) {
            arr[i][j] = rand()%10;
            sum += arr[i][j];
        }
        
        if ( sum != sum_main ) break; 
    
    }
    
    } while ( sum != sum_main );    //...в идеале goto заполнение предыдущей строки, но...
        
    
    //.Проверяет столбцы
 
    for ( i = 0 ; i < n ; i++ ) {
    
        sum = 0;
        for ( j = 0 ; j < n ; j++ )     sum += arr[j][i];
        if ( sum != sum_main )  break;
        
    }
        
    if ( sum != sum_main )  continue;   //...goto заполнение первой строки матрицы...
    
    //.Проверяет главные диагонали
 
    sum = 0;
    
    for ( i = 0, j = 0 ; i < n ; i++, j++ )     sum += arr[i][j];
    
    if ( sum != sum_main ) continue;    //...goto заполнение первой строки матрицы...
    
    
    sum = 0;
    for ( i = 0, j = n - 1 ; i > -1 ; --i, --j )        sum += arr[i][j];
    
    if ( sum != sum_main )  continue;   //...goto заполнение первой строки матрицы...
    else break;
    
    }
    
    //.Вывод магии.
    
    for ( i = 0 ; i < n ; i++ ) {
        for ( j = 0 ; j < n ; j++ ) printf("%d ", arr[i][j]);
    printf("\n");
    //putchar('\n');
    }
    
    getch();
    return 0;
    
}
Выходные данные: мигающее нижнее подчёркивание, игнорирование ввода.

Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2019, 23:12
Ответы с готовыми решениями:

Магический квадрат, где пользователь может сам задать количество элементов в стороне квадрата
Как изменить этот код, чтобы N не была константой, а пользователь сам вводил значение N. Заранее...

Магический квадрат с условием
Здравствуйте, вдруг резко заинтересовался программированием и стало интересно, как сделать...

Сформировать из случайных чисел матрицу 3х3 - магический квадрат
Друзья, помогите пожалуйста Задание: Сформировать из случайных чисел матрицу 3х3 - магический...

Магический квадрат. Написать функцию проверки магического квадрата на правильность
Создание магического квадрата, если сумма элементов во всех строках, столбцах и диагоналей то же...

0
09.03.2019, 23:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2019, 23:12
Помогаю со студенческими работами здесь

Программа магический квадрат. В чем ошибка?
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { ...

Задача. Магический/Не магический квадрат
Проверить, является ли заданная целочисленная матрица A(N, N) &quot;магическим квадратом&quot; (это значит,...

Магический квадрат (латинский квадрат)
Напишите в С++ программу составления магического квадрата (латинского квадрата) 200-го порядка

Магический квадрат
Вопрос по следующей задаче: дана квадратная матрица. Расположить элементы таким образам, что...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru