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

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

Войти
Регистрация
Восстановить пароль
 
MiSS_XtasY
Сообщений: n/a
#1

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

01.12.2009, 23:54. Просмотров 452. Ответов 2
Метки нет (Все метки)

Привет!помогите составить программу,которая заполнит массив А[10][10] как показано ниже:
Название: masivs.jpg
Просмотров: 38

Размер: 18.0 Кб
сначала заполнила весь массив нулями:
C++
1
2
3
4
5
6
7
8
9
10
void main(){
  int a[10][10];
  int i,j;
  for(i=0; i<10;i++){
     for(j=0;j<10;j++){
        a[i][j]=0;
        cout<<a[i][j]<<" ";
     }
     cout<<"\n";
  }
дальше не знаю что делать
заранее спасибо!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2009, 23:54     Заполнить матрицу по правилу
Посмотрите здесь:

Заполнить матрицу по правилу - C++
Матрицу A (m, n) заполнить следующим образом. Для заданных k и l элемента akl присвоить значение 1; элементам, окружающих его - значение 2;...

Заполнить матрицу по правилу - C++
Матрицу K(m, n) заполнить следующим образом. Элементам, находящимся на периферии (по периметру матрицы), присвоить значение 1; периметру...

Заполнить матрицу по правилу - C++
помогите пожалуйста заполнить массив(NxM) последовательными числами от 1 до NxM в следующем порядке. например 1 6 7 12 2 5 8 11 3 4...

Матрицу A (m, n) заполнить по указанному правилу - C++
Помогите решить. Матрицу A (m, n) заполнить следующим образом. Для заданных k и l элемента akl присвоить значение 1; элементам,...

Заполнить квадратную матрицу согласно заданному правилу - C++
помогите пожалуйста Заполнить двумерный массив размером 7 на 7 пояснением если не трудно на языке c++ заранее спасибо

Заполнить квадратную матрицу по правилу «шахматная доска» - C++
Помогите заполнить квадратную матрицу порядка N по следующему правилу: «шахматная доска» - чередовать в каждой строке числа 0 и 1, причем...

Заполнить квадратную матрицу порядка N по определенному правилу - C++
Дан двумерный массив состоящий из NxN( N вводится с клавиатуры). задача заключается в том, что надо сделать так: ...

Заполнить матрицы по правилу - C++
Доброго времени суток. Вот встал перед проблемой при работе с матрицей. Необходимо заполнить матрицу 5х5 следующим образом 1 1 1 1...

Заполнить двумерный массив по правилу - C++
Нужно заполнить массив 1 1 1 1 1 2 2 2 2 0 3 3 3 0 0 4 4 0 0 0 ...

Заполнить двумерный массив по правилу - C++
заполнить по схеме массив


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DraconVS
8 / 8 / 2
Регистрация: 14.11.2009
Сообщений: 16
02.12.2009, 00:41     Заполнить матрицу по правилу #2
Вот программа.

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
#include <stdio.h>
void main(){
  const int k = 10;
  int a[k][k];
  int i,j,n=1,l = 0;
  for(i=0; i<10;i++)
     for(j=0;j<10;j++)
        a[i][j]=0;
  for(i = 0; i<k; i++){
    if (k/2-1 < i)
        l++;
    for(j = 0; j < k-l*2; j++){
        if(i%2 == 0 && l == 0)
            a[i][j]=n++;
        else
            if(l == 0)
              a[i][10-j-1]=n++;
            else
              a[i][j+l]=n++;
    }
  }
  for(i=0; i<10;i++){
     for(j=0;j<10;j++)
        printf("%3d",a[i][j]);
     printf("\n");
  }
}
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.12.2009, 10:10     Заполнить матрицу по правилу #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
27
28
29
30
31
32
#include <stdio.h>
void main(){
  const int k = 10;
  int a[k][k];
  int i,j,n=1,l = 0;
  for(i=0; i<10;i++)
     for(j=0;j<10;j++)
        a[i][j]=0;
  for(i = 0; i<k/2; i++)
      for(j=0; j<k; j++)
      {
          a[i][j]=n;
          n++;       
      }
  for(j=1; j<k-1; j++)
  {
       if(j==5)
          l++;
       if(j>5)
           l+=2;
      for(i=5; i<5+j-l; i++)
      {
          a[i][j]=n;
          n++;
      }
  }   
  for(i=0; i<10;i++){
     for(j=0;j<10;j++)
        printf("%3d",a[i][j]);
         printf("\n");
  }
}
Ответ Создать тему
Опции темы

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