Информатика, вопрос задал Аноним , 2 года назад

с++
Сверху вниз, слева направо

Даны два числа n и m. Создайте двумерный массив размером n×m и заполните его в соответствии с примером.


Входные данные


Даны два натуральных числа n и m, не превышающие 10.


Выходные данные


Выведите ответ на задачу.


Примеры

Ввод

Вывод

5 6

0 5 10 15 20 25

1 6 11 16 21 26

2 7 12 17 22 27

3 8 13 18 23 28

4 9 14 19 24 29

Ответы на вопрос

Ответил rostislavternuk
3

Ответ:

#include <iostream>

#include <vector>

using namespace std;

void make_matrix(vector<vector<int>> &v){

  int n = v.size(), m = v.front().size(), cur = 0;

  for(int i = 0; i < m; i++){

      for(int j = 0; j < n; j++){

          v[j][i] = cur;

          cur++;

      }

  }

}

void print_matrix(vector<vector<int>> &v){

  int n = v.size(), m = v.front().size();

  for(int i = 0; i < n; i++){

      for(int j = 0; j < m; j++)

          cout << v[i][j] << " ";

     cout << "\n";

  }

}

signed main(){

  int n, m;

  cin >> n >> m;

  vector<vector<int>> a(n, vector<int> (m));

  make_matrix(a);

  print_matrix(a);

}

Объяснение:

Лови. Надо было поменять местами n и m в циклах, i и j в массиве, при заполнении. Вывод такой же как и обычно

Новые вопросы