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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить сумму заштрихованной части матрицы http://www.cyberforum.ru/cpp-beginners/thread1087533.html
Здравствуйте! Нужно вычислить сумму заштрихованной части матрицы. Спасибо)
C++ Определить является ли лабиринт правильным карта представляет собой лабиринт 1=стена, 0=проход карта представляет собой лабиринт надо определить является ли лабиринт правильным правильный лабиринт - такой лабиринт, в котором из любого места в любое другое можно попасть только одним способом. Пример. 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 http://www.cyberforum.ru/cpp-beginners/thread1087530.html
Замена реурсивного класса при переводе с Java на C++ C++
Собственно, перевожу одну вещь с Java на C++ и столкнулся с такой проблемой: //импорты public class Block { //Код не имеющий отношения к проблеме public static final Block blocksList = new Block; //Код не имеющий отношения к проблеме public static final Block stone = (new BlockStone(1)).setHardness(1.5F).setResistance(10.0F).setStepSound(soundStoneFootstep).setUnlocalizedName("stone");//...
Ввести строку символов, переформатировать C++
Здравствуйте! Нужно решить следующую задачу. Никак не получается ... Ввести строку символов, переформатировать, продлив до длины 60 символов равномерным добавлением пробелов между словами. Определить количество добавленных пробелов. Спасибо)
C++ multimap::emplace() http://www.cyberforum.ru/cpp-beginners/thread1087526.html
При компиляции этого кода: #include <iostream> #include <map> using namespace std; int main () { multimap<char,int> mymultimap; mymultimap.emplace('a',10);
C++ Правильно ли решено. Указатели Нужно организовать размещение данных как на картинке. Мое решение:void zadanie24(){ int *p1; p1=new int; *(p1+0)=78; int *p3; p3=new int; *(p3+0)=56; *(p3+1)=NULL; *(p1+1)=*(p3+0); } Подскажите пожалуйста правильно ли решено. И как решить вот это с помощью структуры? подробнее

Показать сообщение отдельно
Weber70
0 / 0 / 0
Регистрация: 02.02.2014
Сообщений: 13
02.02.2014, 13:28     Не могу понять код, кто может объяснить чайнику?
Есть код С++ магического квадрата.
Писал с помощью интернета полгода назад. Сейчас не могу разобраться что к чему
Кое что понимаю, но с массивами вообще беда, помогите люди добрые.
Раньше код был без ввода значений квадрата, я вроде додумал теперь можно вводить, но теперь мне кажется что там много лишнего в частности перед вводом значений.

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;
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru