Форум программистов, компьютерный форум, киберфорум
Наши страницы

Массивы и циклы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Олимпиадная задача по программированию http://www.cyberforum.ru/cpp-beginners/thread671351.html
Помогите написать программу для решения следующей задачи (из Всесибирской Открытой Олимпиады Школьников по информатике за 2011-2012 года): Имя входного файла: input.txt Имя выходного файла:...
C++ Почему программа не отрывает поток для ввода данных? Всем привет! Программа описывает структуру для дробей, в которой хранятся соответственно числитель и знаменатель. В ходе выполнения программы мы определяем две переменные типа Дробь, потом... http://www.cyberforum.ru/cpp-beginners/thread671345.html
Парсинг сайта на ASP C++
Здравствуйте. Появилась идея сделать клиентское приложение для сайта на ASP. Вот собственно и он: http://lic6.lanta-net.ru/login1.asp Хотел бы узнать - как на C++ (хотя можно и на других языках)...
C++ Игра с фишками. Что не так в моем коде?
Важной частью игры является проверка того, что можно ли соединить две фишки путем, удовлетворяющим следующим свойствам: 1) Путь должен состоять из отрезков вертикальных и горизонтальных прямых. ...
C++ Удаление символа в строке http://www.cyberforum.ru/cpp-beginners/thread671319.html
Помогите пожалуйста, вот программа: #include <iostream> using namespace std; int main() { int k; cin >> k; int a=0;
C++ Поиск минимума методом трихотомии Здравствуйте! Написал, но почему-то не работает. Подскажите пожалуйста что тут не так? Метод трихотомии - деление на три, аналог метода дихотомии (деление на два). Или то что я нахожу f1 и f2 -... подробнее

Показать сообщение отдельно
damnare
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 18

Массивы и циклы - C++

14.10.2012, 23:52. Просмотров 746. Ответов 2
Метки (Все метки)

Суть задачи: Двумерный массив, содержащий равное число строк и столбцов, называется магическим квадратом, если суммы чисел, записанных в каждой строке, каждом столбце и каждой из двух больших диагоналей, равны одному и тому же числу. Определить, является ли данный массив А из N строк и N столбцов магическим квадратом.

Как бЭ если задать строго что массив трехмерный допустим, все легко и просто, делаешь кучу переменных для считывания суммы каждой строки и столбца (благо с диагоналями попроще) и вуаля - сравниваешь - будет работать. Но как сделать чтобы не зависело это дело от размерности? Думал сделать как то через массив - строку (для каждого элемента строки суммируется определенная строка исходного массива) но все же не представляю как это сделать не зная заранее размерности исходной матрицы... может кто подскажет?

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 <stdio.h>
#include <math.h>
#include <conio.h>
#include <ctime>
#include <cstdlib>
#define n 3
 
void main()
{
    srand(time(NULL));
    int mas[n][n];
    int vect_str[n];
    int vect_stl[n];
    int x=0;
    int sum_d=0,sum_od=0;
 
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
        {
            scanf("%d",&x);
            mas[i][j]=x; //srand()%10; если рандомить
        }
        
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            printf("%d ",mas[i][j]);
        }
        printf("\n");
    }
 
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
        {
            if (i+j==n-1) sum_od+=mas[i][j];
            if (i==j) sum_d+=mas[i][j];
        }
    printf("\n");
    printf("sum_d %d\n", sum_d);
    printf("sum_od %d\n", sum_od);
 
    _getch();
 
}
Пы.сы - тут подумал - если сделать через switch т.е. просто когда создается исходный массив сравнивать i и j и суммировать посредством switch'a, хотя все равно шило на мыло
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.