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

Программа магический квадрат. В чем ошибка? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Блок схема к программе на С++ http://www.cyberforum.ru/cpp-beginners/thread150202.html
Народ, помогите пожалуйста зделать блок схемы к программе #include <iostream.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> const PC=10,UC=100; int pc=-1,uc=-1; int fc0=0,fc1=0,fc2=0,fc3=0;
C++ Не могу исправить ошибку в программе на С++ Написал программу: #include <iostream> #include <conio.h> using namespace std; double sin (unsigned short n); int main() { double s, n, y, e, a; cout << " Федеральное агентство по образованию Российской федерации" << endl; http://www.cyberforum.ru/cpp-beginners/thread150199.html
C++ Зависимости и статические члены
По ходу дела, у меня возникла следующая проблема. Допустим, что у нас есть два класса. Один класс затребует второй. Второй класс затребует первый (такие случаи бывают). По какой то причине такой код опять же не компилируется. 2) Ошибка номер два. Не удается получить доступ к статическому члену класса ? #ifndef h_hd1_ #define h_hd1_ //#pragma once #include "hd2.h"
Одномерный массив в C C++
Переменной t присвоить значение истина, если в одномерном массиве хотя бы одно отрицательное и четное число.
C++ Обработка массива структур http://www.cyberforum.ru/cpp-beginners/thread150153.html
Организовать массив структур и поместить в него сведения о нескольких студентах (Фамилия, имя, отчество, дата рождения, домашний адрес, телефон). Вывести фамилии тех, кому исполнилось n лет. Упорядочить структуры по алфавиту (фамилии).
C++ Базы данных Сформировать двоичный файл из элементов структуры "Государство", состоящей из названия; столици; численности населения; занимаемой площади. Обеспечить возможность фильтрации по плотности населения (чел.на.кв.км). подробнее

Показать сообщение отдельно
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
28.06.2010, 22:26     Программа магический квадрат. В чем ошибка?
Sychik, ага, увидел уже после

Добавлено через 1 минуту
по определению, надо просто сравнить суммы строк ,столбцов., и диогоналей матрицы, и если сошлись - то - Magic

Добавлено через 17 минут
Sychik,

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
#include <iostream>
 
using namespace std;
 
int main()
{
    int ROWS = 3;
    int COLS =3;
 
    int **mas = new int*[ROWS];
    for (int i=0; i<ROWS; i++)
    mas[i] = new int[COLS];
 
    mas[0][0]=2;
    mas[0][1]=7;
    mas[0][2]=6;
 
    mas[1][0]=9;
    mas[1][1]=5;
    mas[1][2]=1;
 
    mas[2][0]=4;
    mas[2][1]=3;
    mas[2][2]=8;
 
 
    int sum_res=15; //ответ уже знал заранее,   здесь надо написать строку, которая считаетнужное число
    int sum=0;
 
 
    for (int i=0; i<ROWS; ++i){
        for (int j=0; j<COLS; ++j)
            sum+=mas[i][j];
        if (sum!=sum_res) exit(1);
        sum=0;
    }
 
    sum=0;
    //по столбцам
    for (int j=0; j<COLS; ++j){
        for (int i=0; i<ROWS; ++i)
            sum+=mas[i][j];
        if (sum!=sum_res) exit(1);
        sum=0;
    }
 
 
    cout<<"Square is magic";
 
 
    return 0;
}
- проверку по диогоналям сделаете?

Добавлено через 16 минут
Полный вариант

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
#include <iostream>
 
int main()
{
    int ROWS = 3;
    int COLS =3;
 
    int **mas = new int*[ROWS];
    for (int i=0; i<ROWS; i++)
    mas[i] = new int[COLS];
 
    mas[0][0]=2;
    mas[0][1]=7;
    mas[0][2]=6;
 
    mas[1][0]=9;
    mas[1][1]=5;
    mas[1][2]=1;
 
    mas[2][0]=4;
    mas[2][1]=3;
    mas[2][2]=8;
 
    int sum_res=0;
    for (int i=0; i<ROWS; ++i)
    sum_res+=mas[i][0];
    int sum=0;
 
    //по строкам
    for (int i=0; i<ROWS; ++i){
        for (int j=0; j<COLS; ++j)
            sum+=mas[i][j];
        if (sum!=sum_res) exit(1);
        sum=0;
    }
 
    //по столбцам
    for (int j=0; j<COLS; ++j){
        for (int i=0; i<ROWS; ++i)
            sum+=mas[i][j];
        if (sum!=sum_res) exit(1);
        sum=0;
    }
 
    //главная диог
    for (int i=0; i<COLS; ++i)
        sum+=mas[i][i];
        if (sum!=sum_res) exit(1);
        else
        sum=0;
 
    //побочная диог
    for (int i=0; i<COLS; ++i)
        sum+=mas[(COLS-1)-i][i];
        if (sum!=sum_res) exit(1);
        else
        sum=0;
 
    std::cout<<"Square is magic";
 
    return EXIT_SUCCESS;
}
 
Текущее время: 15:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru