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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Машенька1
3 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 60
#1

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

15.03.2012, 22:00. Просмотров 1414. Ответов 1
Метки нет (Все метки)

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(j=jmin;j<=jmax;j++) //pervaia stroka
        {
            k++;
        a[imin-1][j]=k;
        }
        for(i=imin;i<=imax;i++)  //poslednii stolbec
        {
            k++;
            a[i][jmax]=k;
        }
        jmax--;
        for(j=jmax;j>=jmin;j--)  //posledniaia stroka
        {
            k++;
            a[imax][j]=k;
        }
        imax--;
        for(i=imax;i>=imin;i--)  //pervii stolbec
        {
            k++;
            a[i][jmin]=k;
        }
        imin++;
        jmin++;
        }
    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;
    }
}
Элементы даны по спирали по часовой стрелке,как можно поменять,чтоб было против часовой стрелки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2012, 22:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Задача на вывод элементов матрицы по спирали (C++):

Вывод матрицы по спирали - C++
Массив по спирали я заполнил. Но нужно вывести его так, чтобы был видел алгоритм заполнения. То есть вывести по спирали. Не знаю как...

Вывод членов матрицы по спирали - C++
Помогите написать программу для вывода членов матрицы по такой схеме:

Вывод матрицы по спирали изнутри - C++
Помогите пожалуйста, кто может написать функцию вывода матрицы a по спирали изнутри? a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 ...

задача на вывод элементов набора - C++
Дано вещественное число B, целое число N и набор из N вещественных чисел, упорядоченных по возрастанию. Вывести элементы набора вместе с...

Вывод текста по спирали - C++
Напишите программу. которая анализирует текст в файле и выводит предожения (на экран или в фат-та) в форме спирали. Столбцы спирали должны...

Задача на сканирование элементов матрицы - C++
В общем условие задание такое: Дана матрица А, размерности m*n. Сформировать матрицу B, размерности m*n, состоящую только из 0 и 1....

1
valeriikozlov
Эксперт С++
4681 / 2507 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
16.03.2012, 10:28 #2
Цитата Сообщение от Машенька1 Посмотреть сообщение
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
do
 {
 for(j=jmin;j<=jmax;j++) //pervaia stroka
 {
 k++;
 a[imin-1][j]=k;
 }
 for(i=imin;i<=imax;i++) //poslednii stolbec
 {
 k++;
 a[i][jmax]=k;
 }
 jmax--;
 for(j=jmax;j>=jmin;j--) //posledniaia stroka
 {
 k++;
 a[imax][j]=k;
 }
 imax--;
 for(i=imax;i>=imin;i--) //pervii stolbec
 {
 k++;
 a[i][jmin]=k;
 }
 imin++;
 jmin++;
 }
 while (k<25);
заменить на:
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
        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);

Не по теме:

можно еще смотреть на монитор через зеркало )

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2012, 10:28
Привет! Вот еще темы с ответами:

Вывод массива по спирали. Ошибка исполнения. - C++
Дан квадратный массив задаваемой размерности, нужно вывести в ряд его элементы змейкой начиная с элемента последней строки последнего...

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

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

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


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

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

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