1 / 1 / 3
Регистрация: 18.04.2014
Сообщений: 118
1

Обойти по спирали все элементы матрицы 6x6

08.09.2014, 17:52. Показов 2340. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
Начиная с центра, обойти по спирали все элементы матрицы 6x6, распечатывая их в порядке обхода.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.09.2014, 17:52
Ответы с готовыми решениями:

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

Начиная с центра, обойти по спирали все элементы квадратной матрицы
В целочисленной квадратной матрице nxn (3<=n<=101, n - нечетное) - найти номер первого из...

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

Обойти матрицу по спирали и распечатать её элементы в порядке обхода
Задана матрица n*m обойти матрицу по спирали и распечатать её элементы в порядке обхода. Есть у...

2
Модератор
Эксперт С++
13334 / 10635 / 6354
Регистрация: 18.12.2011
Сообщений: 28,408
08.09.2014, 18:56 2
Лучший ответ Сообщение было отмечено lixod96 как решение

Решение

Простенько, но наверняка!
C++
1
2
3
4
5
6
7
8
cout<<a[3][3]<<endl<<a[3][2]<<endl<<a[2][2]<<endl<<a[2][3]<<endl;
cout<<a[2][4]<<endl<<a[3][4]<<endlt<<a[4][4]<<endl<<a[4][3]<<endl;
cout<<a[4][2]<<endl<<a[4][1]<<endl<<a[3][1]<<endl<<a[2][1]<<endl;
cout<<a[1][1]<<endl<<a[1][3]<<endl<<a[1][3]<<endl<<a[1][4]<<endl<<a[1][5]<<endl;
cout<<a[2][5]<<endl<<a[3][5]<<endl<<a[4][5]<<endl<<a[5][5]<<endl;
cout<<a[5][4]<<endl<<a[5][3]<<endl<<a[5][2]<<endl<<a[5][1]<<endl<<a[5][0]<<endl;
cout<<a[4][0]<<endl<<a[3][0]<<endl<<a[2][0]<<endl<<a[1][0]<<endl<<a[0][0]<<endl;
cout<<a[0][1]<<endl<<a[0][2]<<endl<<a[0][3]<<endl<<a[0][4]<<endl<<a[0][5]<<endl;
1
1 / 1 / 3
Регистрация: 18.04.2014
Сообщений: 118
09.09.2014, 15:38  [ТС] 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
#include <stdio.h>    
    
    
    int M[10][10];   // матрица
     
    int main() {
      int i,j,x,y,n;
     
      M[4][4]=1;
      for(x=4,y=4,n=1,i=1;i<=100;)    // цикл до 10*10 - кол-ва элементов матрицы
       {
        for(j=0;j<n;j++) M[++x][y]=++i;  // тут заносится значение, а его надо печатать
        for(j=0;j<n;j++) M[x][++y]=++i;  // то же самое
        n++;
        for(j=0;j<n;j++) M[--x][y]=++i;  // и здесь
        for(j=0;j<n;j++) M[x][--y]=++i;  // надо печатать, а не записывать сюда
        n++;
       }
      for(x=9;x>=0;x--)         // тут мы печатаем значения, но это тебе не надо
       {
        for(y=0;y<10;y++)
          printf("%3d ",M[x][y]);
        printf("\n");
       }
      return(0);
    }
Что нужно исправить в этом коде??
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
#include <iostream>
#include <iomanip>
#include <stdio.h> 
 
int main(int argc, char* argv[])
{
   const int SIZE = 15;
   int arr[SIZE][SIZE] = {0};
   int iIndex, jIndex, n = 0, count = 1;
 
   iIndex = jIndex = SIZE / 2;
   while (n < SIZE)
   {
      for (int i = 0; i < n; i++)
      {
         arr[iIndex++][jIndex] = count++;
      }
      for (int i = 0; i < n; i++)
      {
         arr[iIndex][jIndex++] = count++;
      }
      n++;
      for (int i = 0; i < n; i++)
      {
         arr[iIndex--][jIndex] = count++;
      }
      for (int i = 0; i < n; i++)
      {
         arr[iIndex][jIndex--] = count++;
      }
      n++;
   }
   for (int i = 0; i < SIZE; i++)
   {
      for (int j = 0; j < SIZE; j++)
      {
         cout << setw(4) << arr[i][j];
      }
   cout << endl;
   }
   system("pause");
   return 0;
}
0
09.09.2014, 15:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.09.2014, 15:38
Помогаю со студенческими работами здесь

Начиная с элемента A[1,1] и перемещаясь по часовой стрелке, вывести все элементы матрицы по спирали
#include &lt;iostream&gt; using namespace std ; #define m 5 int main () { int a ; int i , j , k ;...

Обойти все элементы вектора
Как обойти все элементы вектора? Предложите пожалуйста 2 способа

Вывести элементы матрицы по спирали
Дана квадратная матрица A порядка M (M — нечетное число). Начи-ная с элемента A1,1 и перемещаясь по...

Вывести элементы матрицы по спирали
Дана квадратная матрица A порядка M (M — нечетное число). Начиная с элемента A1,1 и перемещаясь по...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru