YB
Yula Bobrovskaya

помогиде сделать прогу на с++

Заполнить матрицу, от левого верхнего угла по спирали: вниз - вправо - вверх - влево.

Сергей Золотов
Сергей Золотов

Вот пример обхода, но, по часовой стрелке и с выводом. Разбирайтесь. А каждый год переписывать одно и то же - скучно.

#include
#include
using namespace std;
int main() {
int const row = 8, col = 8;
int a[row][col] =
{{1, 2, 3, 4, 5, 6, 7, 8},
{28,29,30,31,32,33,34, 9},
{27,48,49,50,51,52,35,10},
{26,47,60,61,62,53,36,11},
{25,46,59,64,63,54,37,12},
{24,45,58,57,56,55,38,13},
{23,44,43,42,41,40,39,14},
{22,21,20,19,18,17,16,15}};
for (int n = 0; n < row; n++, cout << endl) for (int m = 0; m < col; m++) cout << setw(3) << a[n][m];
cout << endl;
bool top, bottom, left, rigth, start = true;
top = bottom = left = rigth = false;
int size = row * col, r = row, c = col, * p = &a[0][0];
for (int n = 0, next = 0; n < size; n++, next++) {
if (n && n % col == 0) cout << endl;
if (start && c) {
cout << setw(3) << *p++;
if (next == c - 1) { next = 0; start = false; bottom = true; --c; --p; } continue;
} else if (bottom && r) {
p += col;
cout << setw(3) << *p;
if (next == r - 1) { next = 0; bottom = false; rigth = true; --r; --p; }
} else if (rigth && c) {
cout << setw(3) << *p--;
if (next == c) { next = 0; rigth = false; top = true; --c; ++p; }
} else if (top && r) {
p -= col;
cout << setw(3) << *p;
if (next == r - 1) { next = 0; top = false; left = true; --r; ++p; }
} else if (left && c) {
cout << setw(3) << *p++;
if (next == c) { next = 0; left = false; bottom = true; --c; --p; }
}
} cin.get();
return 0;
}

ЕС
Евгений Сазонов

Ну берете курсор, двигаете его до столкновения с краем или с другой ячейкой, как столкнетесь - поворачиваете. Заодно номеруете ячейки.

Елена Burtovaja
Елена Burtovaja

Сейчас в школах по учебной программе то же самое в 8 или 9 классе школьники делают. Правдо в среде, чем то похожей на паскаль 🙂

КЕ
Карасев Евгений

А если как следует напрячь голову - можно формулу общую вывести, значение ячейки в зависимости от номера столбца, строки и размерности матрицы. Я в свое время так и делал.

Светлана Садилова
Светлана Садилова

сколько денег дашь??

Похожие вопросы
помогиде пожалуйста!
как сделать правильно прогу
как из болванки двд сделать сд какой прогой и как
как сделать размер видео меньше? может прога есть какая нибудь?
помогиде пожалуйста !!
помогите плз сделать прогу в паскале
Помогите сделать прогу
с помощью какой проги сделали этот монтаж видео???
помогиде сделать помогте пожалуйста сделать
Как сделать такой ролик? какие проги использовать ???