Cerința
Se dau două numere naturale n și k, cu proprietatea că 2*k < n. Să se afişeze pe ecran elementele unei matrice pătratice de dimensiune n, formată din valorile 1 şi 2, construită astfel:
valorile de pe diagonala principală sunt 1;
valorile de pe k pseudodiagonale paralele cu diagonala principală şi situate imediat deasupra acesteia sunt 1;
valorile de pe k pseudodiagonale paralele cu diagonala principală şi situate imediat sub aceasta sunt 1;
valorile de pe diagonala secundară sunt 1;
valorile de pe k pseudodiagonale paralele cu diagonala secundară şi situate imediat deasupra acesteia sunt 1;
valorile de pe k pseudodiagonale paralele cu diagonala secundară şi situate imediat sub aceasta sunt 1;
restul valorilor din matrice sunt 2.
Date de intrare
Programul citește de la tastatură numerele n k.
Date de ieșire
Programul va afișa pe ecran matricea construită, câte o linie a matrice pe o linie a ecranului, elementele de pe o line fiind separate prin exact un spaţiu.
Restricții și precizări
1 ≤ n ≤ 100
Exemplu
Intrare
10 1
Ieșire
1 1 2 2 2 2 2 2 1 1
1 1 1 2 2 2 2 1 1 1
2 1 1 1 2 2 1 1 1 2
2 2 1 1 1 1 1 1 2 2
2 2 2 1 1 1 1 2 2 2
2 2 2 1 1 1 1 2 2 2
2 2 1 1 1 1 1 1 2 2
2 1 1 1 2 2 1 1 1 2
1 1 1 2 2 2 2 1 1 1
1 1 2 2 2 2 2 2 1 1
Răspunsuri la întrebare
Răspuns de
7
#include <iostream>
using namespace std;
int main()
{
int n, k;
cin >> n >> k;
if(2 * k < n)
for(int i=1; i<=n; i++) {
for(int j=1; j<=n; j++)
if( ( (i + k >= j) && (j + k >= i) ) || ( (k + n + 1 >= i + j) && (n - k < i + j) ) ) cout << 1 << ' ';
else cout << 2 << ' ';
cout << '\n';
}
else cout << "Dublul lui k nu este mai mic decat n.\n";
return 0;
}
using namespace std;
int main()
{
int n, k;
cin >> n >> k;
if(2 * k < n)
for(int i=1; i<=n; i++) {
for(int j=1; j<=n; j++)
if( ( (i + k >= j) && (j + k >= i) ) || ( (k + n + 1 >= i + j) && (n - k < i + j) ) ) cout << 1 << ' ';
else cout << 2 << ' ';
cout << '\n';
}
else cout << "Dublul lui k nu este mai mic decat n.\n";
return 0;
}
AntiEaglesDavids:
mai ai si altele :) ?
Alte întrebări interesante
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Biologie,
9 ani în urmă