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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Weber70
0 / 0 / 0
Регистрация: 02.02.2014
Сообщений: 13
#1

Не могу понять код, кто может объяснить чайнику? - C++

02.02.2014, 13:28. Просмотров 176. Ответов 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
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
#include <iostream>
#include <windows.h>
using namespace std;     
//Функция IsMagicMitrix определяет является квадратная матрица магическим квадратом
 
 int a,b,c,d,f,g,x,q,w;
template<typename T, int N>
bool IsMagicMatrix(T (&pArr)[N][N]){
    T summ=0, tempsumm=0; bool IsMagic=true;
    for (int i=0;i<N;i++){
       summ+=pArr[0][i];
   }
   for(int i=1;i<N;i++){
        tempsumm=0;
        for(int j=0;j<N;j++){
            tempsumm+=pArr[i][j];
        }
        if(tempsumm!=summ) return false;
    }   
    for(int i=0;i<N;i++){
        tempsumm=0;
        for(int j=0;j<N;j++){
            tempsumm+=pArr[j][i];
        }
        if(tempsumm!=summ) return false;
    }
    tempsumm=0;
    for(int i=0;i<N;i++){
        tempsumm+=pArr[i][i];   
    }
    if(tempsumm!=summ) return false;
    tempsumm=0;
    for(int i=0;i<N;i++){
        tempsumm+=pArr[i][(N-1)-i]; 
    }
    if(tempsumm!=summ) return false;
        return IsMagic;
    }
    
    int main(){
        SetConsoleOutputCP(1251);
        cout<<"введите квадрат значения"<<"\n";
        cout<<""<<"\n";//отступ
        cout<<"вводим значения 1-2-3"<<"\n";
        cout<<"вводим значения 4-5-6"<<"\n";
        cout<<"вводим значения 7-8-9"<<"\n";
        cout<<""<<"\n"; //отступ
        cout<<"введите число 1 строки: "; cin>>a;
        cout<<"введите число 2 строки: "; cin>>b;
        cout<<"введите число 3 строки: "; cin>>c;
        cout<<"введите число 4 строки: "; cin>>d;
        cout<<"введите число 5 строки: "; cin>>f;
        cout<<"введите число 6 строки: "; cin>>g;
        cout<<"введите число 7 строки: "; cin>>x;
        cout<<"введите число 8 строки: "; cin>>q;
        cout<<"введите число 9 строки: "; cin>>w;
        int mas[3][3]={
            
            {a,b,c},
            {d,f,g},
            {x,q,w}};
         // {2,7,6}, пример магического квадрата
         // {9,5,1},
         // {4,3,8}};     
        for (int i=0;i<3;i++)
        {
            for (int j=0; j<3; j++)
                cout<<mas[i][j]<<"\t";
            cout<<endl;
        }
        cout<<endl;
        bool b=IsMagicMatrix(mas);
        if (b==0) 
            {cout<<"Ваш Квадрат не магический";}
        else 
            {cout<<"Ваш Квадрат магический";}
       // cout<<IsMagicMatrix(mas);     
        cout<<endl;
        system("pause");
        return 0;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2014, 13:28     Не могу понять код, кто может объяснить чайнику?
Посмотрите здесь:

пожалуйста выручите написать очень нужно завтра защита а я не могу понять! выручите кто может ! - C++
Получите целочисленную матрицу A размеров nxm, для которой aij=i+2j

Кто может объяснить a = a + b? - C++
Сейчас разбирал функцию for. Но суть не в этом. Меня застопорило такое уравнение: sum = sum + i. Я совершенно не могу понять его смысла и...

кто может объяснить синтаксис - C++
кто может объяснить синтаксис при встрече в Барнауле, могу подъехать в любое время пм icq: 554091043

Кто может объяснить алгоритм программы? Как она работает? - C++
Нужно позарез. Реально помогите кто что знает. Рисую алгоритмы нужно разобраться, плс. коменты написать хотя бы // LB3.cpp : Defines the...

Кто может объяснить алгоритм прораммы.Как она работает? - C++
Кто может объяснить алгоритм прораммы.Как она работает?по пунктам.сначала то, потом то... /*вычислить с точностью Е площадь...

Указатели и адреса: может кто-нибудь нормально по-человечески эту тему объяснить? - C++
Добрый вечер. Читаю вот книгу по Липманну и ничего не понимаю из этих слов, может кто нормально по-человечески объяснить? Спасибо. ...

Кто нибуть мне дураку может объяснить причину segmenantiob fault в моём коде? - C++
Вот есть функция: QVariantList DocumentManager::getNextsDesc(QString path) { QMutexLocker locker(&amp;descMutex); ...

Кто может переделать код? - C++
Как переделать код, мне помогли написать код с помощью классов, на в универе мне препад сказал что классами нельзя, заставляет переделать с...

кто может перевести код в с++ - C++
нужно перевести код в С++ В с++ вообще не понимаю ,а вот в паскале набрасал код! кому не сложно помогите пожалуйста uses crt; var...

Не могу понять код - C++
Напишите, пожалуйста, что означает каждая строчка кода #include &lt;stdio.h&gt; #include &lt;string.h&gt; char s,t,c1,c2; bool...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru