Написать программу, которая двумерный массив целых чисел размером 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

Помогите пожалуйста это решить. Буду благодарен!

Ответы

Ответ дал: SheWhoRunsOnTheWaves
1

Ответ:

На питоне

(можно менять 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 - за то, какую мы цифру впишем в ячейку.


korner1: Забыл уточнить что нужно на С++ )
SheWhoRunsOnTheWaves: Блин, я плохо помню плюсы(( Сами переписать сможете?
SheWhoRunsOnTheWaves: Там все int
SheWhoRunsOnTheWaves: Все-таки вспомнила :)
korner1: Спасибо огромное!
SheWhoRunsOnTheWaves: Пожалуйста)
Вас заинтересует