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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Кардиоида http://www.cyberforum.ru/cpp-beginners/thread295223.html
Добрый день! Помогите пожалуйста исправить прогу, у меня рисунок не рисует точками(незнаю как ими рисовать): #include <graphics.h> #include <conio.h> #include <math.h> #include <dos.h> int main(void) { clrscr();
C++ Вычислить площади треугольников с помощью формулы Герона два треугольника заданы координатами своих вершин A, B и C.вычислить площади треугольников с помощью формулы Герона и определить , какой треугольник имеет большую площадь ,при решений задачи используйте следующие данные для первого треугольника A(1,1) B(4,2) C(2,3,5) для второго треугольника A(1,2) B(4,1) C(3,3,5).вычислите длин сторон треугольника и его площади оформить в одной функции длина... http://www.cyberforum.ru/cpp-beginners/thread295209.html
c++ , sprintf() и Дух Плюсов C++
Здравствуйте! Как вам известно во многих учебниках по С++ говорится, что функции printf и scanf использовать можно, но это не в стиле C++ . Мне не совсем понятно как в этом случае дело обстоит со sprintf. Не противоречит ли плюсовому стилю следующий быдлокод (мне это до ужаса не нравится, хочется сделать более изящно): int i=205 char s; std::string str; sprintf(s,"i=%d",i); ...
Нужно отформатировать текст находящийся в файле: каждое предложение должно иметь порядковый номер и начинаться с красной строки C++
Нужно отформатировать текст находящийся в файле: каждое предложение должно иметь порядковый номер и начинаться с красной строки!!! Добавлено через 1 час 18 минут ооо ((( неужели ни кто не может помочь...
C++ Как прочитать файлы *.Evt? http://www.cyberforum.ru/cpp-beginners/thread295169.html
Здравствуйте. Как мне прочитать файлы *.Evt (журнал событий windows) средствами DevC++? Нужно выдирать информацию о новых событиях...
C++ Как записать элементы односвязного списка в массив? прошу прощение за столь поздний визит. прошу помочь мне... мне нужно записать элементы списка в массив, прчем элементами списка являются элементы типа класса(в моем случае это элементы класса "координата"( поля int x, int y))... помогите, чем сожете подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
14.05.2011, 12:14     Определить, является ли матрица магическим квадратом
первая:
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
#include <iostream>
#include <iomanip>
 
int main() {
    const int size = 3;
    int matrix[size][size] = {
        { 2, 7, 6 },
        { 9, 5, 1 },
        { 4, 3, 8 },
    };
 
    bool magic_square = true;
        
    int sum = 0;
    for (int i = 0; i < size; ++i) 
        sum += matrix[i][i];
 
    int buf = 0;
    for (int i = 0; i < size; ++i)
        buf += matrix[size - i -1][size - i - 1];
        
    if (buf != sum)
        magic_square = false;
 
    for (int i = 0; i < size && magic_square; ++i) {
        int buf1 = 0, buf2 = 0;
        for (int j = 0; j < size; ++j) {
            buf1 += matrix[i][j];
            buf2 += matrix[j][j];
        }
 
        if (buf1 != sum || buf2 != sum)
            magic_square = false;
    }
 
    for (int i = 0; i < size; ++i) {
        for(int j = 0; j < size; ++j)
            std::cout << matrix[i][j] << ' ';
 
        std::cout << '\n';
    }
 
    std::cout << "magic square: " <<  std::boolalpha << magic_square << std::endl;
    return 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
#include <iostream>
 
int main() {
    const int size = 5;
    int matrix[size][size] = {
        { 1, 2, 3, 4, 5 },
        { 2, 3, 4, 5, 6 },
        { 3, 4, 5, 6, 7 },
        { 4, 5, 6, 7, 8 },
        { 5, 6, 7, 8, 9 }
    };
        
    int sum = 0;
    int count = 0;
    for (int i = 0; i < size; ++i) {
        for (int j = i + 1; j < size; ++j)
            if (matrix[i][j] > 0) {
                sum += matrix[i][j];
                ++count;
            }
    }
 
    for (int i = 0; i < size; ++i) {
        for(int j = 0; j < size; ++j)
            std::cout << matrix[i][j] << ' ';
 
        std::cout << '\n';
    }
 
    std::cout << "sum: " << sum << std::endl;
    std::cout << "count: " << count << std::endl;
    return 0;
}
проверьте только.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru