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

Заполнить двумерный массив по спирали - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перебор всех слов латинского алфавита длиной 1-4 букв http://www.cyberforum.ru/cpp-beginners/thread603218.html
Задали такую программу, а как ее писать - даже не знаю) Конечно представляю, что 1 пункт массив, а вот дальше... "1)Перебор всех слов латинского алфавита длиной 1-4 букв 2) Выбирается случайное слово и сохраняется в памяти 3)Перебирается заново все варианты нового алфавита, пока не найдется это слово"
C++ Нахождение уникальных элементов в массиве Все приветики. Снова я:confusion: Что то не могу додуматься, как решить такую задачку... Есть массив целых чисел (одномерный). Известно, что он упорядочен по возрастанию.. Значения в нем могут повторяться.. Надо вывести уникальные элементы.. Т.е. есть массив: 1 1 2 3 3 4 4 5 6 6 7 7 8 9 9 10 Тут уникальными являются значения 2, 5, 8, 10. т.к. они встречаются один раз. На... http://www.cyberforum.ru/cpp-beginners/thread603215.html
Считывание Базы данных с файла и его сортировка C++
Добрый вечер. Прошу помочь разобраться с программой. Задание: 1)Ввести базу данных фильмов(Мною решено) 2)Запись в файл(решено) 3)Считывание с файла БД 4)Сортировка по году и стоимости Ниже представлена моя программа(1-ый и 2-ой пункт) #include<iostream>
C++ Нарисовать призму
Ребят мне на завтра нужно сдать архитектуру компьютеров, напишите пожалуйста хоть приблизительно правильный код программы под такую вот задачку: Разработать программу, которая: рисует пизму и при нажатии z - поворот на 10 градусов вокруг оси z. Пожалуйста ребят очень срочно!!!! Добавлено через 12 минут впринципе если можно на другом языке, напишите на другом, похожем на С.... только...
C++ Где можно прочитать про АТД и структуру на С++? http://www.cyberforum.ru/cpp-beginners/thread603197.html
Не нашла такого раздела здесь Литература C++ где можно подробнее узнать по этой теме?( сайты, книжки, видеоуроки и т.п.) Срочно нужно разобраться до экзамена. Буду благодарна за любую информацию. P.S. АТД - абстрактный тип данных.
C++ работа с bst ребята, всем привет в общем есть bst дерево, построенное по одному ключу, необходимо перестроить это же дерево по другому ключу, т.е. получить второе bst дерево. алгоритм таков - находим минимальное значение второго ключа, удаляем из первого дерева, заносим во второе, и так до того момента, как первое дерево не станет пустым. я как сделал, ищу минимальное значение второго ключа полным... подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
12.06.2012, 17:55     Заполнить двумерный массив по спирали
C++ (Qt)
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <iostream>
#include <ctime>
using namespace std;
 
int main ()
{
    setlocale (LC_CTYPE, "Russian");
    srand(time(NULL));
 
    const int size = 7;
    int array1[size][size];
 
    int c = 1;
    int k = 0;
    int d = 0;
 
    if (size % 2 == 0)
    {
 
        for (int e = 0; e < size / 2; e++)
    {
        if (k == 0 + e)
        {
            while (d <= size - 1 - e)
            {
                array1[k][d] = c;
                d++;
                c++;
            }
            d--;
        }
        if (d == size - 1 - e)
        {
            k++;
            while (k <= size - 1 - e)
            {
                array1[k][d] = c;
                k++;
                c++;
            }
            k--;
        }
        if (k == size - 1 - e)
        {
            d--;
            while (d >= 0 + e)
            {
                array1[k][d] = c;
                d--;
                c++;
            }
            d++;
        }
        if (d == 0 + e)
        {
            k--;
            while (k >= 1 + e)
            {
                array1[k][d] = c;
                k--;
                c++;
            }
            k++;
        }
    }
    }
    else
    {
        for (int e = 0; e < size / 2 + 1; e++)
    {
        if (k == 0 + e)
        {
            while (d <= size - 1 - e)
            {
                array1[k][d] = c;
                d++;
                c++;
            }
            d--;
        }
        if (d == size - 1 - e)
        {
            k++;
            while (k <= size - 1 - e)
            {
                array1[k][d] = c;
                k++;
                c++;
            }
            k--;
        }
        if (k == size - 1 - e)
        {
            d--;
            while (d >= 0 + e)
            {
                array1[k][d] = c;
                d--;
                c++;
            }
            d++;
        }
        if (d == 0 + e)
        {
            k--;
            while (k >= 1 + e)
            {
                array1[k][d] = c;
                k--;
                c++;
            }
            k++;
            d++;
        }
    }
    }
 
    
 
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
        {
            cout<<array1[i][j]<<"  ";
            if (j == size - 1)
            {
                cout<<"\n\n";
            }
        }
    }
    
    
}
проверял и исправлял лишь половину: if (size % 2 == 1)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru