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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Арен
16 / 16 / 6
Регистрация: 27.05.2014
Сообщений: 132
#1

Заполнение матрицы по-спирали - C++

24.02.2016, 20:40. Просмотров 166. Ответов 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
34
35
36
37
38
39
40
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
 
    const int N = 20;
    int n;
    do
    {
        cout << "n = ";
        cin >> n;
    } while (n < 1 || N < n);
 
    int a[N][N];
    int k = 1;
    int i = 0;
    int j = 0;
    while (k <= n*n)
    {
 
        a[i][j] = k;
        if (i <= j + 1 && i + j < n - 1)
            ++j;
        else if (i < j && i + j >= n - 1)
            ++i;
        else if (i >= j && i + j > n - 1)
            --j;
        else
            --i;
        ++k;
    }
 
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < n; ++j)
            cout << setw(4) << a[i][j];
        cout << endl;
    }
}
Если не сложно можете наглядно обЪяснить вот эту часть
C++
1
2
3
4
5
6
7
8
9
if (i <= j + 1 && i + j < n - 1)
            ++j;
        else if (i < j && i + j >= n - 1)
            ++i;
        else if (i >= j && i + j > n - 1)
            --j;
        else
            --i;
        ++k;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2016, 20:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заполнение матрицы по-спирали (C++):

Заполнение матрицы по спирали - C++
Напишите программу, которая заполняет матрицу из N строк и M столбцов заполненную заданным способом: входные данные: 4 5 выходные...

Заполнение матрицы по спирали - C++
как заполнить матрицу ЛП, от левого верхнего угла по спирали: вправо - вниз - влево - вверх

Заполнение матрицы по спирали - C++
Привет всем, можете помочь пожалуйста: надо придумать алгоритм, написать код на С++ заполнения матрицы по контуру по часовой стрелке (т.е....

Заполнение матрицы по спирали - C++
Заполнить матрицу 10х10 числами от 1 до 100 по порядку, начиная с верхнего левого угла. #include&lt;conio.h&gt; #include&lt;stdio.h&gt; ...

Заполнение матрицы по спирали - C++
Здравствуйте! Помогите, пожалуйста, с задачей: Заполнить квадратную матрицу nxn последовательными целыми числами от 1 до n^2,...

Заполнение матрицы по спирали - C++
Дано натуральное N (1&lt;=N&lt;=10). Заполнить матрицу порядка N*N целыми числами 0, 1, 2, 3, …, N^2–1 по спирали(по часовой стрелке). Важное...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2016, 20:40
Привет! Вот еще темы с ответами:

Подправить код, заполнение матрицы по спирали - C++
Ребята, не могу понять где ошибка. В общем т.к. новичок не знаю как именно переходить если одно логическое условие стало ложным, к другому....

Заполнение матрицы по спирали с использованием case - break - C++
Нужно заполнить матрицу по спирали при помощи case - break. Вот код : #include&lt;iostream&gt; #include&lt;Windows.h&gt; #include &quot;stdlib.h&quot; ...

Заполнение матрицы по спирали: модифицировать имеющийся код - C++
Подскажите пожалуста, каким образом поменять цикл, чтобы заполнение началось с другого угла массива? #include &quot;stdafx.h&quot; #include...

Заполнение матрицы по спирали (из центра по часовой стрелке) - C++
Пользователь должен ввести размерность матрици!Матрица квадратная!А программа должна заполнить её числами по порядку 1 2 3 4 5 .... (из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru