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

Заполнить матрицу по правилу - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Катерина666
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 4
07.12.2010, 19:09     Заполнить матрицу по правилу #1
помогите пожалуйста
заполнить массив(NxM) последовательными числами от 1 до NxM в следующем порядке. например
1 6 7 12
2 5 8 11
3 4 9 10
или
заполнить квадратную матрицу (NxN) последовательными числами от 1 до NxN по спирали.
пример:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 19:09     Заполнить матрицу по правилу
Посмотрите здесь:

Заполнить матрицу по правилу C++
C++ Заполнить двумерный массив по правилу
C++ Заполнить матрицы по правилу
Заполнить матрицу по правилу C++
Заполнить квадратную матрицу порядка N по определенному правилу C++
Заполнить матрицу по правилу C++
Матрицу A (m, n) заполнить по указанному правилу C++
C++ Заполнить квадратную матрицу по правилу «шахматная доска»

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
njkmxbr
0 / 0 / 1
Регистрация: 12.03.2013
Сообщений: 30
24.04.2013, 12:03     Заполнить матрицу по правилу #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
заполнить квадратную матрицу (NxN) последовательными числами от 1 до NxN по спирали.
пример:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7[/QUOTE]




#include "stdafx.h"
#include <iostream>
using namespace std;

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int _tmain(int argc, _TCHAR* argv[])
{
int const n=11;
 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("
");
  }   
}
Yandex
Объявления
24.04.2013, 12:03     Заполнить матрицу по правилу
Ответ Создать тему
Опции темы

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