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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Олимпиадная задача по программированию http://www.cyberforum.ru/cpp-beginners/thread671351.html
Помогите написать программу для решения следующей задачи (из Всесибирской Открытой Олимпиады Школьников по информатике за 2011-2012 года): Имя входного файла: input.txt Имя выходного файла: output.txt Ограничение по памяти: 256 Мб Задача 1. Сколько пятниц? Ограничение по времени на 1 тест: 1 сек. Сегодня 27 ноября 2011 года. Это воскресенье. А нас интересуют пятницы. Необходимо
C++ Почему программа не отрывает поток для ввода данных? Всем привет! Программа описывает структуру для дробей, в которой хранятся соответственно числитель и знаменатель. В ходе выполнения программы мы определяем две переменные типа Дробь, потом предлагаем пользователю ввести их значения в формате (числитель/знаменатель), знак "/" обязателен. Проблема в том, что после ввода первой дроби, cin не предлагает ввести вторую. У кого есть идеи как бороться... http://www.cyberforum.ru/cpp-beginners/thread671345.html
Парсинг сайта на ASP C++
Здравствуйте. Появилась идея сделать клиентское приложение для сайта на ASP. Вот собственно и он: http://lic6.lanta-net.ru/login1.asp Хотел бы узнать - как на C++ (хотя можно и на других языках) можно заполнить графы и послать сообщение для авторизации, после чего получить код странички после авторизации? Гугл молчит как партизан, кроме скромной заметки, намекающей на то что нужно не парсить...
C++ Игра с фишками. Что не так в моем коде?
Важной частью игры является проверка того, что можно ли соединить две фишки путем, удовлетворяющим следующим свойствам: 1) Путь должен состоять из отрезков вертикальных и горизонтальных прямых. 2) Путь не должен пересекать других фишек. При этом часть пути может оказаться вне доски. X - означает, что клетка занята фишкой. . (точка) - означает, что клетка пустая. Фишки с координатами...
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 - уже не правильно? #include <conio.h> #include <math.h> #include <iostream> using namespace std; double f(double x) { подробнее

Показать сообщение отдельно
damnare
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 18
14.10.2012, 23:52     Массивы и циклы
Суть задачи: Двумерный массив, содержащий равное число строк и столбцов, называется магическим квадратом, если суммы чисел, записанных в каждой строке, каждом столбце и каждой из двух больших диагоналей, равны одному и тому же числу. Определить, является ли данный массив А из 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, хотя все равно шило на мыло
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru