260
O floare abia plantată se notează cu 0
. În fiecare lună, aceasta crește cu un rând de petale, separate prin spațiu, notate cu cifra vârstei sale in acea lună.
Cerința
Se dă un număr natural n
. Construiți și afișați o matrice ce reprezintă floarea dupa n
luni.
Date de intrare
Programul citește de la tastatură numărul n
.
Date de ieșire
Programul va afișa pe ecran matricea construită, reprezentând floarea dupa n
luni.
Restricții și precizări
1 ≤ n ≤ 9
Exemplu
Intrare
3
Ieșire
3 3 3 3 3 3 3 3 2 2 2 2 2 3 3 2 1 1 1 2 3 3 2 1 0 1 2 3 3 2 1 1 1 2 3 3 2 2 2 2 2 3 3 3 3 3 3 3 3
Explicație
În 3
luni floarea crește cu 3
rânduri de petale.
#include <bits/stdc++.h> #define MAX 20 using namespace std; int a[MAX][MAX]; int main() { int n , k = 0 , q = 0 , z = 1; cin >> n; k = n * 2 + 1; q = n; for(int i = 1; i <= k / 2; i++) { for(int j = 1; j <= i; j++) { a[i][j] = n - j + 1; a[i][k - j + 1] = n - j + 1; } for(int j = i + 1; j <= k - i + 1; j++) a[i][j] = n - i + 1; q--; } for(int i = k/2 + 1; i <= k; i++) { for(int j = 1; j <= k - i + 1; j++) { a[i][j] = n - j + 1; a[i][k - j + 1] = n - j + 1; } for(int j = k - i + 2; j <= k - (k - i) - 1; j++) a[i][j] = i - n - 1; q--; } for(int i = 1; i <= k; i++) { for(int j = 1; j <= k; j++) cout << a[i][j] << " "; cout << endl; } return 0; }
Comentarii