Заполнение диагоналями
По данным числам 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++ Пожалуйста!!
Answers & Comments
Ответ:
#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;
}
Объяснение: