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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.83
AkA_ZadR
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 8
#1

Требуется совершить обход квадратной матрицы по спирали - C++

09.09.2011, 20:08. Просмотров 2904. Ответов 4
Метки нет (Все метки)

помогите с этой задачкой ))




Спираль
(Время: 1 сек. Память: 16 Мб Сложность: 38%)
Требуется совершить обход квадратной матрицы по спирали так, как показано на рисунке справа: заполнение происходит с единицы из левого верхнего угла и заканчивается в центре числом N2, где N – порядок матрицы.

Входные данные
Во входном файле INPUT.TXT задано натуральное число N – размер квадратной матрицы (N<=100).

Выходные данные
В выходной файл OUTPUT.TXT выведите матрицу, заполненную числами от 1 до N2 по спирали, при этом между числами может быть любое количество пробелов.

Пример
№ INPUT.TXT OUTPUT.TXT
5 1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2011, 20:08     Требуется совершить обход квадратной матрицы по спирали
Посмотрите здесь:

Обход матрицы по спирали - C++
Пожалуйста, подскажите как должен выглядеть листинг к такой программе!? Обойти по спирали, начиная с центра, все элементы квадратной...

Выполнить обход матрицы по спирали - C++
Здійснити обхід матриці по спіралі за годинниковою стрілкою, починаючи від ЇЇ лівого верхнього кута. Вивести елементи матриці у порядку...

Указатель на функцию и обход матрицы по спирали - C++
Всем привет, впервые столкнулся с такой задачей, не могли бы помочь с решением? Так же не совсем понятно задание. Особенно прототип функции...

Начиная от центра, обойти по спирали все элементы квадратной матрицы - C++
Доброго времени, помогите создать программу на Си/С++ Задание: Начиная от центра, обойти по спирали все элементы квадратной матрицы...

Начиная с центра, обойти по спирали все элементы квадратной матрицы - C++
В целочисленной квадратной матрице nxn (3&lt;=n&lt;=101, n - нечетное) - найти номер первого из столбцов, не содержащих положительных...

Начиная с центра, обойти по спирали все элементы квадратной матрицы, распечатывая их в порядке обхода - C++
Начиная с центра, обойти по спирали все элементы квадратной матрицы ,распечатывая их в порядке обхода.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
09.09.2011, 21:36
  #2

Не по теме:

Хоть бы сделал вид, что думал над задачей. А то просто с E-олимпа условие передрал.

iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
09.09.2011, 23:17     Требуется совершить обход квадратной матрицы по спирали #3
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
46
47
48
49
#include <iostream>
 
using namespace std;
 
int main()
{
    int n, i = 1, j = 1, ix, jx, a[102][102] = {}, x = 1;
 
    cin >> n >> ix >> jx;
 
    while (x <= n * n)
    {
        while (j <= n && a[i][j] == 0)
        {
            a[i][j] = x++;
            j++;
        }
        j--;
        i++;
 
        while (i <= n && a[i][j] == 0)
        {
            a[i][j] = x++;
            i++;
        }
        i--;
        j--;
 
        while (j > 0 && a[i][j] == 0)
        {
            a[i][j] = x++;
            j--;
        }
        j++;
        i--;
 
        while (a[i][j] == 0)
        {
            a[i][j] = x++;
            i--;
        }
        i++;
        j++;
    }
 
    // матрица заполенена
 
    return 0;
}
Predator_2004, задача с acmp
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
10.09.2011, 13:22     Требуется совершить обход квадратной матрицы по спирали #4
В Си:
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
#include <stdlib.h>
#include <stdio.h>
#define n 5
 
int main() {
int i=1,j,k,a[n][n],p=n/2;
//заполнение матрицы нулями
for(j=0; j<n; j++)
 for(k=0; k<n; k++)
  a[j][k]=0;
printf("\nMatrica razmerom (%d*%d)\n\n",n,n);
for(k=1; k<=p; k++)//kol-vo spiralei
{//verhn.goriz riyad
 for(j=(k-1); j<(n-k+1); j++)
  a[k-1][j]=i++;
//pravi verhn. stolbec
for(j=k; j<(n-k+1); j++)
 a[j][n-k]=i++;
//nizhni goriz riyad
for(j=(n-k-1); j>=k-1; j--)
 a[n-k][j]=i++;
//levi kraini stolbec
for(j=n-k-1; j>=k; j--)
 a[j][k-1]=i++;
}
 if (n%2)
  a[p][p]=n*n;
  
for(i=0; i<n; i++)
 for(j=0; j<n; j++)
  {printf("%5d",a[i][j]);
   if(j==(n-1))
  printf("\n\n");
 }
system("pause");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2011, 21:29     Требуется совершить обход квадратной матрицы по спирали
Еще ссылки по теме:

Совершить в бинарном дереве обход Правый - Корень - Левый - C++
Нужно совершить обход Правый корень левый в бинарном дереве. #include &quot;stdafx.h&quot; #include &quot;stdlib.h&quot; #include &quot;conio.h&quot; #include...

Как можно совершить обход двоичного дерева нерекурсивно - C++
Доброго времени суток. Хочу поинтересоваться: как можно совершить обход двоичного дерева нерекурсивно(!!!), желательно с примерами или...

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
10.09.2011, 21:29     Требуется совершить обход квадратной матрицы по спирали #5
Сюда http://www.cyberforum.ru/cpp/thread60495.html
Yandex
Объявления
10.09.2011, 21:29     Требуется совершить обход квадратной матрицы по спирали
Ответ Создать тему
Опции темы

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