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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Копирование памяти под std::string http://www.cyberforum.ru/cpp-beginners/thread1203607.html
Есть код: const int N = 3; string* pstr = (string*)malloc(sizeof(string) * N); string arrstr; memcpy(pstr, arrstr, sizeof(string) * N); pstr = "string0"; pstr = "string1";
C++ Записать всю информацию из файла в другой файл в файл нужно записывать информацию , которая хранится после чисел -1 -1 55, ниже указан пример информации в файле -1 -1 55 ufkahfku rhkauhkakhra hu ara aa raw raw aw -1 -1 http://www.cyberforum.ru/cpp-beginners/thread1203606.html
C++ Как записать все числа из файла в вектор?
Числа хранятся в таком формате, слово Fail потом идет набор чисел и заканчивается двумя пустыми строчками и потом повторяется ниже указан пример bla bla blal fail 9.755 0 2 55 25 2 52 52 2 2.525 2.2 52.5. dahkja ai a aia fail 1515.153315 5151.5 5 44 и так далее
Файлы: вывести информацию об абитуриентах, проживающих в деревнях с населением выше 30 человек C++
9. Ведомость абитуриентов содержит ФИО, населенный пункт проживания, суммарный балл. Информация о населенном пункте включает в себя население, тип пункта, область. Вывести информацию об абитуриентах, проживающих в деревнях с населением выше 30 человек и имеющих суммарный балл выше 100.
C++ Файловый ввод. Считывание по строкам http://www.cyberforum.ru/cpp-beginners/thread1203602.html
Нужно описать функцию для подсчета количества пустых строк в текстовом файле
C++ Файловый ввод/вывод. Двоичные файлы. Задача В файле содержатся номера автомобилей стоящих на стоянке (123, 467, 129 и др). Написать функцию, которая выведет сначала список авто с тремя одинаковыми цифрами, потом с двумя и в конце все остальные. Двоичный файл создать программно с использованием отдельной функции подробнее

Показать сообщение отдельно
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
08.03.2015, 20:56     Определить, является ли матрица магическим квадратом
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
#include <iostream>
#include <boost/numeric/ublas/matrix.hpp>
#include <vector>
 
using namespace std;
namespace ublas = boost::numeric::ublas;
 
// ввод матрицы
void input_matrix (ublas::matrix<int> & _matrix)
{
    for (int i = 0; i < _matrix.size1(); i++)
    {
        for (int j = 0; j < _matrix.size2(); j++)
        {
            cout <<"(" <<i <<"," <<j <<") = ";
            cin >> _matrix(i,j);
        }
    }
}
 
// проверка на равенство всех эл. в векторе
bool equality_of_data (vector<int> & obj)
{
    for (vector<int>::iterator i = obj.begin(); i+1!=obj.end(); i++)
        if (*i!=*(i+1))
            return false;
    return true;
}
 
int main()
{
    int size;
    do
    {
        cout <<"Size: ";
        cin >> size;
    }
    while (size <= 0);
    ublas::matrix<int> arr (size, size);
    cout <<"Input matrix:\n";
    input_matrix (arr);
 
    vector<int> sum_rows, sum_cols (size, 0);
    int sum_diag_main = 0;
    int sum_diag_sec = 0;
 
    for (int i = 0; i < size; i++)
    {
        int sum = 0;
        for (int j = 0; j < size; j++)
        {
            if (i==j)
                sum_diag_main+=arr(i,j);
            if (j==size - i - 1)
                sum_diag_sec+=arr(i,j);
            sum+=arr(i,j);
            sum_cols[j]+=arr(i,j);
        }
        sum_rows.push_back (sum);
    }
 
    if (equality_of_data(sum_rows) &&
        equality_of_data(sum_cols) &&
        sum_cols[0]==sum_rows[0] &&
        sum_diag_main==sum_diag_sec)
    {
        cout <<"Это магический квадрат\n";
    }
    else
    {
        cout <<"Это не магический квадат\n";
    }
    return 0;
}
 
Текущее время: 14:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru