Предмет: Информатика, автор: regressor04

Заполнение диагоналями
По данным числам n и m заполните двумерный массив размером n∗m числами от 1 до n∗m “диагоналями”, как показано в примере.

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

Вводятся два числа n и m.

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

Выведите полученный массив, отводя на вывод каждого элемента ровно 4 символа. В языке Python для этого можно использовать метод rjust (выравнивание по правому краю с указанием числа позиций для вывода). Например, так:



Примеры
Ввод
Вывод
3 5
1 2 4 7 10
3 5 8 11 13
6 9 12 14 15
Решите задачу на C++ Пожалуйста!!

Ответы

Автор ответа: TheRedl1ub
1

Ответ:

#include <iostream>

int main(void){

   const int N = 3;

   const int M = 5;

   int mat[N][M];

   int i, j, row = 0, col = 0, n = 1;

   while(row <= (N - 1)){

       i = row;

       j = col;

       while((i < N) && (j >= 0))

           mat[i++][j--] = n++;    

       if(col < (M - 1))

           ++col;

       else

           ++row;

   }

   for(i = 0; i < N; ++i){

       for(j = 0; j < M; ++j){

           std::cout.width(3);

           std::cout << mat[i][j];

       }

       std::cout << std::endl;

   }

   return 0;

}

Объяснение:

Похожие вопросы
Предмет: Химия, автор: Bogenbaizarina