Написать программу, которая двумерный массив целых чисел размером 5х5 заполняет следующим
образом:
5 0 0 0 0
4 5 0 0 0
3 4 5 0 0
2 3 4 5 0
1 2 3 4 5
Помогите пожалуйста это решить. Буду благодарен!
Ответы
Ответ:
На питоне
(можно менять n и создавать такие жe таблички других размеров)
n = 5
a = [[0] * n for i in range(n)]
m = n
t = 0
for j in range(n):
for i in range(t, n):
a[i][j] = m
m -= 1
t += 1
m = n
for i in range(n):
for j in range(n):
print(a[i][j], end=' ')
print()
На С++
#include <iostream>
using namespace std;
int main()
{
const int n = 5;
int a[n][n];
int m = n, t = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
a[i][j] = 0;
}
}
for (int j = 0; j < n; j++) {
for (int i = t; i < n; i++) {
a[i][j] = m;
m--;
}
t++;
m = n;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << a[i][j] << ' ';
}
cout << endl;
}
return 0;
}
Объяснение:
Идем по столбцам, каждый раз начиная со все более дальнего. Переменная t отвечает за то, с какого столбца начинаем, а переменная m - за то, какую мы цифру впишем в ячейку.