Cerința
Scrieţi un program care citeşte de la tastatură un număr natural nenul n (1≤n≤30) şi construieşte o matrice pătratică cu n linii şi n coloane formată numai din valori ce aparţin mulţimii {1,2,3,...,n} astfel încât elementele din matrice situate pe diagonala secundară să fie egale cu n, elementele situate pe celelalte două “semidiagonale” paralele cu diagonala secundară şi alăturate diagonalei secundare să fie egale cu n-1, elementele situate pe următoarele două “semidiagonale” paralele cu diagonala secundară, de o parte şi de alta a acesteia, să fie egale cu n-2 etc.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Programul afișează pe ecran matricea construită, câte o linie a matricei pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu.
Restricții și precizări
1 ≤ n ≤ 30
Exemplu
Intrare
5
Ieșire
1 2 3 4 5
2 3 4 5 4
3 4 5 4 3
4 5 4 3 2
5 4 3 2 1
Răspunsuri la întrebare
Răspuns de
0
Well se pare ca cei ce conduc siteul sunt interesati de reguli stupide de genul "nu linkuri" chiar daca sunt catre siteuri de genul Pastie care imi dau voie sa iti arat cod C++/Pascal sau ce ai tu nevoie intr-un format ORGANIZAT ca sa-l intelegi mai bine... Asa ca..datorita creatorilor siteului va trebui sa te descurci cu carnatzul asta de cod:
#include<iostream> using namespace std; int main() { int n, matrice[30][30]; cout << "n = "; cin >> n; for(int i = 0;i<n;i++) for (int j = 0; j < n; j++) { if (i + j == n - 1) matrice[i][j] = n; else if (i + j < n - 1) matrice[i][j] = i + j + 1; else matrice[i][j] = n - i + n - j - 1; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) cout << matrice[i][j] << " "; cout << endl; } cout << endl << endl; system("pause"); return 0; }
in locul unui cod frumos organizat si aranjat... daca nu se vrea a se promova eficienta intr-un mod cat mai inteligent atunci banuiesc ca n-ar trebui sa mai dau pe-aici... "felicitari", faceti o treaba "excelenta".
#include<iostream> using namespace std; int main() { int n, matrice[30][30]; cout << "n = "; cin >> n; for(int i = 0;i<n;i++) for (int j = 0; j < n; j++) { if (i + j == n - 1) matrice[i][j] = n; else if (i + j < n - 1) matrice[i][j] = i + j + 1; else matrice[i][j] = n - i + n - j - 1; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) cout << matrice[i][j] << " "; cout << endl; } cout << endl << endl; system("pause"); return 0; }
in locul unui cod frumos organizat si aranjat... daca nu se vrea a se promova eficienta intr-un mod cat mai inteligent atunci banuiesc ca n-ar trebui sa mai dau pe-aici... "felicitari", faceti o treaba "excelenta".
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă