0 / 0 / 0
Регистрация: 30.03.2020
Сообщений: 1
1

Создать квадратную матрицу из векторов и проверить, является ли она магическим квадратом

30.03.2020, 20:53. Показов 287. Ответов 0

Здравствуйте. Помогите правильно переделать программу.


Задача: Дана целочисленная квадратная матрица размера n * 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
58
59
60
61
62
63
#include <iostream>
#include <locale.h>
#include <iomanip>
#include <algorithm>
#include <iterator>
#include <vector>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "RUS");
    int n, z, s, j, q, w,b;
    bool f;
    vector<vector<int>> a;
 
    
    cout << "Введите количество строк и столбцов" << endl;
    cin >> n;
    n = n - 1;
    //Заполнение матрицы
    for (int i = 0; i < n+1; i++)
    {
        vector<int> temp;
        for (int j = 0; j < n+1; j++) {
            cout << "A[" << i+1 << "," << j+1 << "]" << endl;
 
            cin >> z;
            temp.push_back(z);
        }
        a.push_back(temp);
    }
 
    s = 0;
    for (int i = 1; i < n + 1; i++) {
        s = s + a[1][i];
    }
    j = 1;
    f = true;
    while (j != n + 1 && f) {
        w = 0;
        q = 0;
        for (int i = 1; i < n + 1; i++) {
            w = w + a[i][j];
            q = q + a[j][i];
        }
        f = (s == q) && (s == w);
        j++;
    }
 
    for (/*vector<vector<int>>::iterator*/ auto row = a.begin(); row != a.end(); row++) {
        for (vector<int>::iterator element = (*row).begin(); element != (*row).end(); element++)
            cout << setw(4) << *element;
        cout << endl;
    }
 
    if (not f) {
        cout << "Квадрат не является магическим" << endl;
    }
    else {
        cout << "Квадрат магический " << endl;
    }
    
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2020, 20:53
Ответы с готовыми решениями:

Дана матрица А размерности (n*n). Определить, является ли она магическим квадратом
составить программу, которая работает с любым допустимым набором данных. Входную информацию и...

Дана целая квадратная матрица. Определить, является ли она магическим квадратом
Дана целая квадратная матрица. Определить, является ли она магическим квадратом, т.е. такой, в...

Проверить, является ли матрица магическим квадратом
написать программу, которая проверяет, является ли введенная с клавиатуры квадратная матрица...

Проверить, является ли матрица магическим квадратом
Здравствуйте! Решил задачку с сайта http://informatics.mccme.ru, но в двух тестах - неправильный...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2020, 20:53

Проверить, является ли матрица магическим квадратом
Магический квадрат является расположение чисел в квадратной сетке, где числа в каждой строке и в...

Дана целая квадратная матрица n-го порядка. Определить, является ли она магическим квадратом,
Здравствуйте, помогите пожалуйста ! Условие :Дана целая квадратная матрица n-го порядка....

Дана целочисленная квадратная матрица порядка 5; определить является ли она магическим квадратом
Дана целочисленная квадратная матрица порядка 5; определить является ли она магическим квадратом

Дана целая квадратная матрица п-го порядка. Определить, является ли она магическим квадратом
5. Дана целая квадратная матрица п-го порядка. Определить, является ли она магическим квадратом,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru