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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Orest_raiter
3 / 3 / 0
Регистрация: 11.02.2012
Сообщений: 41
#1

Заполнение матрицы по спирали (из центра по часовой стрелке) - C++

16.10.2012, 20:29. Просмотров 1284. Ответов 3
Метки нет (Все метки)

Пользователь должен ввести размерность матрици!Матрица квадратная!А программа должна заполнить её числами по порядку 1 2 3 4 5 .... (из середины),как змейка, по часовой стрелке
Вот пример, чтоб было ясно
37 38 39 40 41 42 43
36 17 18 19 20 21 44
35 16 5 6 7 22 45
34 15 4 1 8 23 46
33 14 3 2 9 24 47
32 13 12 11 10 25 48
31 30 29 28 27 26 49

(но матрица чтобы была квадратная и 1 посредине)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2012, 20:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заполнение матрицы по спирали (из центра по часовой стрелке) (C++):

Вывести на экран значения матрицы, взятые по спирали по часовой стрелке - C++
Мне очень нужно написать программу а я несовсем понимаю как((( Здача такая: Дана матрица N*M нужно вывести на экран значения матрицы...

Содержимое матрицы размерности n x n повернуть на 90 по часовой стрелке вокруг центра симметрии матрицы. Исходная матрица вводится из файла - C++
Help me plz

Записать текст матрицы от ее центра по спирали против часовой стрелки - C++
Задача записать текст квадратной матрицы размера n(n-нечетное) от центра матрицы по спирали против часовой стрелки. Например матрица n i...

Заполнить квадратную матрицу по спирали по часовой стрелке - C++
Нужно составить программу, которая заполняет квадратную матрицу порядка n натуральными числами 1, 2, 3, ... n, записывая их в нее "по...

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

Дан двумерный массив.Получить последовательность чисел, получающуюся при чтение этого массива по спирали,по часовой стрелке начиная с середины массива - C++
Не понимаю, как написать программу, выполняющую данную задачу, а вот понять хочется. Дан двумерный массив 9х9. Получить последовательность...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
16.10.2012, 21:57 #2
Много раз была тема ищи в поиске или вот здесь посмотри
Заполнение матрицы змейкой (по спирали)
Orest_raiter
3 / 3 / 0
Регистрация: 11.02.2012
Сообщений: 41
17.10.2012, 14:22  [ТС] #3
Цитата Сообщение от David Sylva Посмотреть сообщение
Много раз была тема ищи в поиске или вот здесь посмотри
Заполнение матрицы змейкой (по спирали)
cпс но там не с середины
Orest_raiter
3 / 3 / 0
Регистрация: 11.02.2012
Сообщений: 41
19.10.2012, 18:13  [ТС] #4
Цитата Сообщение от David Sylva Посмотреть сообщение
Много раз была тема ищи в поиске или вот здесь посмотри
Заполнение матрицы змейкой (по спирали)
cпс но там не с середины

как то так будет


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
50
51
52
53
54
55
#include<iostream.h>
#include<conio.h>
#define n 5
void main()
{
    int k,j,i;
    int imin,jmin,imax,jmax;
    int a[n][n];
    jmin=0;
    imin=1;
    jmax=n-1;
    imax=n-1;
    k=0;
   do
        {
                for(i=imin;i<=imax;i++)  //pervii stolbec
                {
                        k++;
                        a[i][jmin]=k;
                }
                jmin++;
                for(j=jmin;j<=jmax;j++)  //posledniaia stroka
                {
                        k++;
                        a[imax][j]=k;
                }
                imax--;
                for(i=imax;i>=imin;i--)  //poslednii stolbec
                {
                        k++;
                        a[i][jmax]=k;
                }
                jmax--;             
                for(j=jmax;j>=jmin;j--) //pervaia stroka
                {
                        k++;
                        a[imin][j]=k;
                }
                imin++;                                
                }
        while (k<25);
    for(j=0;j<n;j++)
    {
    cout<<a[0][j]<<"  ";
    }
    cout<<endl;
    for(i=1;i<n;i++) 
    {
        for(j=0;j<n;j++)
        {
            cout<<a[i][j]<<" ";
        }
            cout<<endl;
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2012, 18:13
Привет! Вот еще темы с ответами:

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

Прокрутить четверти матрицы по часовой стрелке, начиная с верхнего левого угла - C++
Задание: дана матрица размерности nxn. Получить новую матрицу, переставляя её блоки(размером (n/2) x (n/2), то есть четверти) по часовой...

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.10.2012, 18:13
Ответ Создать тему
Опции темы

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