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

Заполнение матрицы по спирали! - C++

Восстановить пароль Регистрация
 
Павел1994
Сообщений: n/a
21.01.2013, 17:38     Заполнение матрицы по спирали! #1
Программа, которая заполняет квадратную матрицу порядка n натуральными числами 1, 2, 3, … n2, записывая их в нее «по спирали».
Например, для n=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
Вот есть программка ниже ток надо доделать что бы int const n=5; задавал я в командной строке. Пример:
введите n
*я ввожу* 5
и получаю вышеописанную матрицу


Помогите плиз, чет ни фига не получается)))
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
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
using namespace std;
 
int main()
{
 
int const n=5;
 int A[n][n];
 int i=1,j,k,p=n/2;
 for(k=1;k<=p;k++)/*Цикл по номеру витка*/
 {
 for (j=k-1;j<n-k+1;j++)
     A[k-1][j]=i++;/*Определение значений верхнего горизонтального столбца*/
 for (j=k;j<n-k+1;j++)
     A[j][n-k]=i++;/* --//-- По правому вертикальному столбцу*/
 for (j=n-k-1;j>=k-1;--j)
     A[n-k][j]=i++;/* --//-- по нижнему горизонтальному столбцу*/
 for (j=n-k-1;j>=k;j--)
     A[j][k-1]=i++;/* --//-- по левому вертикальному столбцу*/
 }
 if (n%2==1)
     A[p][p]=n*n;
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
  {
   printf(" %4d ",A[i][j]);
   if(j==n-1)
     printf("\n");
  }
 
    getche( );
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2013, 17:38     Заполнение матрицы по спирали!
Посмотрите здесь:

Обход матрицы по спирали C++
Заполнение матрицы по спирали C++
Заполнение матрицы по спирали (из центра по часовой стрелке) C++
Заполнение матрицы по спирали C++
C++ Заполнение матрицы по спирали с использованием case - break
Заполнение матрицы по спирали C++
C++ Заполнение матрицы по спирали: модифицировать имеющийся код
Заполнение матрицы по спирали C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 11:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru