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

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

Восстановить пароль Регистрация
 
Alisa22
-1 / 1 / 0
Регистрация: 14.06.2010
Сообщений: 75
03.06.2011, 11:40     Определить, является ли заданная матрица N-го порядка магическим квадратом, т.е. такой, в которой сумма элементов во всех строках и столбцах одинакова #1
Определить, является ли заданная матрица N-го порядка магическим квадратом, т.е. такой, в которой сумма элементов во всех строках и столбцах одинакова.

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

Листинг:
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
// 6(5).cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <iostream>
#include <iomanip>
 
 
int main() {
        const int size = 3;
        int *matrix = new int;
        int *matrix[size][size] = {
               { 2, 7, 6 },
                { 9, 5, 1 },
                { 4, 7, 8 },
        };
 
        bool magic_square = true;
                
        int sum = 0;
        for (int i = 0; i < size; ++i) 
                sum += *matrix[i][i];
 
        int buf = 0;
        for (int i = 0; i < size; ++i)
                buf += *matrix[size - i -1][size - i - 1];
                
        if (buf != sum)
                magic_square = false;
 
        for (int i = 0; i < size && magic_square; ++i) {
                int buf1 = 0, buf2 = 0;
                for (int j = 0; j < size; ++j) {
                        buf1 += matrix[i][j];
                        buf2 += matrix[j][j];
                }
 
                if (buf1 != sum || buf2 != sum)
                        magic_square = false;
        }
 
        for (int i = 0; i < size; ++i) {
                for(int j = 0; j < size; ++j)
                        std::cout << matrix[i][j] << ' ';
 
                std::cout << '\n';
        }
 
         std:: cout << " Magicheskii kvadrat: " <<  std::boolalpha << magic_square << std::endl;
            delete matrix;
 
        getch( );
 
}
 Комментарий модератора 
Ещё раз без тегов - и карточка обеспечена.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2011, 11:40     Определить, является ли заданная матрица N-го порядка магическим квадратом, т.е. такой, в которой сумма элементов во всех строках и столбцах одинакова
Посмотрите здесь:

C++ Определить, является ли она магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и столбцах одинаковы.
C++ Определить, является ли матрица магическим квадратом
Определить, является ли заданная матрица N-го порядка магическим квадратом. C++
Определить, является ли матрица магическим квадратом C++
Определить ,является ли заданная квадратная матрица магическим квадратом C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
03.06.2011, 12:07     Определить, является ли заданная матрица N-го порядка магическим квадратом, т.е. такой, в которой сумма элементов во всех строках и столбцах одинакова #2
int *matrix = new int;
int *matrix[size][size] = {
{ 2, 7, 6 },
{ 9, 5, 1 },
{ 4, 7, 8 },
};
вместо этого
C++
1
2
3
4
int **matrix;
matrix = new int* [size];
for (int i = 0; i < size; ++i)
     matrix[i] = new int [size];
затем задаете массив.
ps/ алгоритм не проверял.
ALINA4
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 115
12.04.2013, 10:24     Определить, является ли заданная матрица N-го порядка магическим квадратом, т.е. такой, в которой сумма элементов во всех строках и столбцах одинакова #3
как задать
ALINA4
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 115
16.04.2013, 09:54     Определить, является ли заданная матрица N-го порядка магическим квадратом, т.е. такой, в которой сумма элементов во всех строках и столбцах одинакова #4
ошибка в этой программе отладить

Добавлено через 23 часа 20 минут
sum += *matrix[i][i];-почему в этой строке ошибка. как исправить
Yandex
Объявления
16.04.2013, 09:54     Определить, является ли заданная матрица N-го порядка магическим квадратом, т.е. такой, в которой сумма элементов во всех строках и столбцах одинакова
Ответ Создать тему
Опции темы

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