Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить среднее арифметическое простых чисел последовательности Господа, доброго времени суток. Я только начинающий относительно С++ и мне нужна помощь. Необходимо написать решение: Вводится последовательность целых чисел, 0 – конец последовательности. Определить среднее арифметическое простых чисел последовательности (результатом функции будет 1 – число простое, 0 - нет). Я вроде как написал, но программа выводит 0, прошу помощи. int main() { int... https://www.cyberforum.ru/ cpp-beginners/ thread969548.html Не могу разобраться в vector<> C++
Доброго времени суток. Не могу понять реализацию вектора, да и вообще с векторами плохо знакома. Мне бы только показать, как ввести данные и вывести, думаю после сразу будет понятно, что к чему. Вот код: Кстати это алгоритм Крускала(теория графов: Минимальное островное дерево")
C++ ПОдскажите почему не работает rand? #include <iostream> #include <ctime> #include <cstdlib> using namespace std; struct item { int data; // данные item * next; // указатель на следующий элемен }; https://www.cyberforum.ru/ cpp-beginners/ thread969538.html C++ Порядок вершин при поиске кратчайшего пути Есть алгоритм Дейкстры для поиска кратчайшего пути между вершинами. Прога ищет путь правильно и выдает число равное длине минимального пути, но никак не могу правильно сохранить сами номера вершин для их вывода(т.е. порядок вершин в кратчайшем пути). Не знаю в чем дело какие только условия отбора вершин не ставил, не могу придумать, не хватает опыта в программировании. #include <iostream>... https://www.cyberforum.ru/ cpp-beginners/ thread969532.html
Ошибка константа. как исправить? C++
помогите пожалуйста, как убрать эту ошибку?
C++ Странное на мой взгляд объявление функции https://www.cyberforum.ru/ cpp-beginners/ thread969509.html
Добрый день. В исходниках усмотрел следующую вещь: void __RPC_STUB IAMCollection_get_Count_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); Теперь мучает вопрос, что сие есть. То есть что есть когда после типа возвращаемого функцией значения пишется какая-нибудь ересь, что это означает и что делает....
C++ Цвет текста в С++ Я использую system("color _,_,") для задания цвета текста и фона . При такой записи меняется цвет всего текста программы . А как сделать так , чтобы цвет менялся только на определённом фрагменте кода ? Подскажите , пожалуйста . https://www.cyberforum.ru/ cpp-beginners/ thread969502.html C++ Не работают программы, в чем ошибка?
Условие: Определить, пересекаются ли линии у=ах+b и y=kx+m. Если пересекаются, найти точку пересечения. #include <iostream> #include <math.h> using namespace std; int main() { float a,k,b,m,x,y; cout<<"a="; cin>>a; cout<<"k=";
C++ Ошибка при присвоении(список) https://www.cyberforum.ru/ cpp-beginners/ thread969493.html
Вот задание:При поступлении в университет лица, получившие оценку «неудовлетворительно» на первом экзамене, ко второму экзамену не допускаются. Считая фамилии абитуриентов и их оценки после первого экзамена исходными данными, составить список абитуриентов, допущенных ко второму экзамену. #include <vcl.h> #pragma hdrstop #include <iostream.h> #pragma argsused
C++ Наименьший положительный элемент (0 не положительный) https://www.cyberforum.ru/ cpp-beginners/ thread969489.html
Здравствуйте. Столкнулся с такой проблемой, как нахождение наименьшего положительного элемента. По условию пользователь вводит 3 числа (не массив), и программа должна найти и, желательно, вывести его в консоль. Находил множество программ, но там 0 считается положительным элементом. Добавлено через 11 минут Дана последовательность N целых чисел. Найти наименьший положительный элемент этой...
C++ В чем ошибка?
Подчеркивает строку cin.get(c); "Отсутствуют экземпляры, перегруженная функция" и "слишком мало аргументов в вызове функции".. помогите, пожалуйста. //Листинг программы с использованием оператора while. //Подключение библиотек. #include <iostream> #include <conio.h> using namespace std; //Главная функция, реализующая интерфейс с пользователем.
C++ Как научить программу выбирать файл для открытия https://www.cyberforum.ru/ cpp-beginners/ thread969455.html
Вопрос по С++. Помогите сделать открытие нужного файла в бесконечном цикле for(;;), чтобы в зависимости от значения переменной n открывался определенный файл. Моя программа умеет считывать двумерную матрицу из txt файла и затем использовать ее для вычисления очередного приближения к интегралу (метод Гаусса-Кристофеля). Но к сожалению, она не может выбирать, какой именно файл открыть. Отправляю...
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
05.10.2013, 19:06 0

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

05.10.2013, 19:06. Показов 2239. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено haveystar как решение

Решение

Цитата Сообщение от haveystar Посмотреть сообщение
Написать программу,которая позволяет определить ,является ли заданная квадратная матрица магическим квадратом ,то есть такой , в которой суммы элементов во всех рядках и столбцах одинаковые !!
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
                          /*** -std=c++03 ***/
#include <iostream>
 
enum Type {MAGIC, NOMAGIC} flag = MAGIC; // Сразу считаем, что матрица магическая.
 
int main( int argc, char* argv[] )
{
    const size_t rowSize = 5, colSize = 5;
    int matrix[rowSize][colSize] =
    {
        {1, 15, 24, 8, 17 },
        {9, 18, 2, 11, 25 },
        {12, 21, 10, 19, 3},
        {20, 4, 13, 22, 6 },
        {23, 7, 16, 5, 14 }
    };
    int sum = 0;
    for(size_t i = 0; i < colSize; ++i)
        sum += matrix[0][i];
 
 
    int currentRowSum = 0, currentColSum = 0;
 
    // Проверяем сумму в столбцах.
    for(size_t i = 0; i < colSize; ++i)
    {
        for(size_t j = 0; j < rowSize; ++j)
            currentColSum += matrix[j][i];
        // Если не совпадает с эталоном - матрица не магическая - выходим.
        if(currentColSum != sum)
        {
            flag = NOMAGIC;
            break;
        }
        currentColSum = 0; // Обнуляем для следующего подсчета.
    }
 
    // Проверяем сумму в строках (аналогично).
    if(flag == MAGIC)
    {
        for(size_t i = 0; i < rowSize; ++i)
        {
            for(size_t j = 0; j < colSize; ++j)
                currentRowSum += matrix[i][j];
            if(currentRowSum != sum)
            {
                flag = NOMAGIC;
                break;
            }
            currentRowSum = 0;
        }
    }
 
    if(flag == MAGIC)
        std::cout <<"MAGIC square!" <<std::endl;
    else
        std::cout <<"SIMPLE square!" <<std::endl;
 
    return EXIT_SUCCESS;
}

Вариант прямолинейный, но рабочий. Как либо оптимизировать лень.
Добавлено через 4 минуты
Ах да! Чтобы квадрат считался магическим, нужно чтобы сумма элементов двух диагоналей также была одинаковой. Но хозяин -- барин, как говорится .

Добавлено через 32 минуты
Ладно, глазам больно смотреть. Версия 2 (с проверкой диагоналей, не оптимизированная):

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
                          /*** -std=c++03 ***/
#include <iostream>
 
int main()
{
    bool isMagic = true; // Сразу считаем, что матрица магическая.
    const size_t size = 5;
    int matrix[size][size] =
    {
        {1, 15, 24, 8, 17 },
        {9, 18, 2, 11, 25 },
        {12, 21, 10, 19, 3},
        {20, 4, 13, 22, 6 },
        {23, 7, 16, 5, 14 }
    };
    int sum = 0;
    for(size_t i = 0; i < size; ++i)
        sum += matrix[0][i];
 
 
    int rowSum = 0, colSum = 0, mainDiagonalSum = 0, sideDiagonalSum = 0;
 
    // Проверяем сумму в столбцах.
    for(size_t i = 0; i < size; ++i)
    {
        for(size_t j = 0; j < size; ++j)
            colSum += matrix[j][i];
        // Если не совпадает с эталоном - матрица не магическая - выходим.
        if(colSum != sum)
        {
            isMagic = false;
            break;
        }
        colSum = 0; // Обнуляем для следующего подсчета.
    }
 
    // Проверяем сумму в строках (аналогично).
    if(isMagic)
    {
        for(size_t i = 0; i < size; ++i)
        {
            for(size_t j = 0; j < size; ++j)
                rowSum += matrix[i][j];
            if(rowSum != sum)
            {
                isMagic = false;
                break;
            }
            rowSum = 0;
        }
    }
 
    // Главная диагональ.
    if(isMagic)
    {
        for(size_t i = 0; i < size; ++i)
            mainDiagonalSum += matrix[i][i];
 
        if(mainDiagonalSum != sum)
            isMagic = false;
    }
 
    // Побочная диагональ (подымаемся с левого нижнего в правый верхний угол).
    if(isMagic)
    {
        size_t i = size-1, j = 0;
        while( j < size ) // i проверять бессмысленно.
            sideDiagonalSum += matrix[i--][j++];
 
        if(sideDiagonalSum != sum)
            isMagic = false;
    }
 
    if(isMagic)
        std::cout <<"MAGIC square!" <<std::endl;
    else
        std::cout <<"SIMPLE square!" <<std::endl;
 
    return EXIT_SUCCESS;
}


Вернуться к обсуждению:
Определить ,является ли заданная квадратная матрица магическим квадратом C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2013, 19:06
Готовые ответы и решения:

Определить, является ли заданная матрица N-го порядка магическим квадратом.
Предусмотреть динамический захват памяти, решение оформить в виде отдельной функции. На печать в...

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

Определить, является ли заданная целочисленная матрица магическим квадратом
Помогите решить задачу на С++. Двумерные массивы. Вариант 1. Определить, является ли заданная...

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

1
05.10.2013, 19:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2013, 19:06
Помогаю со студенческими работами здесь

Определить, является ли заданная матрица N-го порядка магическим квадратом, т.е. такой, в которой сумма элементов во всех строках и столбцах одинакова
Определить, является ли заданная матрица N-го порядка магическим квадратом, т.е. такой, в которой...

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

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

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

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