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

Определить, является ли матрица магическим квадратом - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
krestina
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 67
14.05.2011, 11:50     Определить, является ли матрица магическим квадратом #1
помогите решить
1)Дана целая квадратная матрица n-го порядка. Определить, является ли она магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и столбцах одинаковы.
2)Вычислить сумму и число положительных элементов матрицы A[N, N], находящихся над главной диагональю.

Добавлено через 25 минут
У меня есть решенная 2) задача на паскале, кто поможет с переводом в С++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2011, 11:50     Определить, является ли матрица магическим квадратом
Посмотрите здесь:

Определить, является ли заданная матрица N-го порядка магическим квадратом. C++
C++ массивы C++. Определить является ли матрица магическим квадратом
Определить, является ли матрица магическим квадратом C++
Определить, является ли матрица магическим квадратом C++
Определить ,является ли заданная квадратная матрица магическим квадратом C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
14.05.2011, 12:14     Определить, является ли матрица магическим квадратом #2
первая:
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
#include <iostream>
#include <iomanip>
 
int main() {
    const int size = 3;
    int matrix[size][size] = {
        { 2, 7, 6 },
        { 9, 5, 1 },
        { 4, 3, 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 << "magic square: " <<  std::boolalpha << magic_square << std::endl;
    return 0;
}
вторая:
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
#include <iostream>
 
int main() {
    const int size = 5;
    int matrix[size][size] = {
        { 1, 2, 3, 4, 5 },
        { 2, 3, 4, 5, 6 },
        { 3, 4, 5, 6, 7 },
        { 4, 5, 6, 7, 8 },
        { 5, 6, 7, 8, 9 }
    };
        
    int sum = 0;
    int count = 0;
    for (int i = 0; i < size; ++i) {
        for (int j = i + 1; j < size; ++j)
            if (matrix[i][j] > 0) {
                sum += matrix[i][j];
                ++count;
            }
    }
 
    for (int i = 0; i < size; ++i) {
        for(int j = 0; j < size; ++j)
            std::cout << matrix[i][j] << ' ';
 
        std::cout << '\n';
    }
 
    std::cout << "sum: " << sum << std::endl;
    std::cout << "count: " << count << std::endl;
    return 0;
}
проверьте только.
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
14.05.2011, 12:22     Определить, является ли матрица магическим квадратом #3
А в чем конкретно проблемы?
fasked
14.05.2011, 12:23
  #4

Не по теме:

Цитата Сообщение от Jtalk Посмотреть сообщение
А в чем конкретно проблемы?
Подозреваю, что конкретно проблемы в том, что человек вообще не понимает программирования и я вряд ли оно ему сдалось в этой жизни кроме сдачи какого-то там зачета

krestina
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 67
14.05.2011, 13:17  [ТС]     Определить, является ли матрица магическим квадратом #5
Цитата Сообщение от Jtalk Посмотреть сообщение
А в чем конкретно проблемы?
у меня в проге getch() определяет как не объявленый идентификатор
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
14.05.2011, 13:18     Определить, является ли матрица магическим квадратом #6
Цитата Сообщение от krestina Посмотреть сообщение
у меня в проге getch() определяет как не объявленый идентификатор
Добавь
C++
1
#include <conio.h>
krestina
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 67
14.05.2011, 13:24  [ТС]     Определить, является ли матрица магическим квадратом #7
Спасибо большое.А то эта ошибка почти всегда меня приследует
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2011, 13:30     Определить, является ли матрица магическим квадратом
Еще ссылки по теме:

C++ Определить является ли матрица магическим квадратом
C++ Определить, является ли матрица магическим квадратом
C++ Определить, является ли матрица магическим квадратом

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

Или воспользуйтесь поиском по форуму:
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
14.05.2011, 13:30     Определить, является ли матрица магическим квадратом #8
Цитата Сообщение от krestina Посмотреть сообщение
у меня в проге getch() определяет как не объявленый идентификатор
Вы пишете на C++ - используйте std::cin.get();
Yandex
Объявления
14.05.2011, 13:30     Определить, является ли матрица магическим квадратом
Ответ Создать тему
Опции темы

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