Se citeste o matrice patratica de ordin n. Parcurgeti si afisati elementele din matrice incepand cu elementul din coltul stanga sus, mergand paralel cu diagonala secundara, ca in exemplu.
Exemplu: n=4
1 3 4 10
2 5 9 11
6 8 12 15
7 13 14 16
In urma parcurgerii: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
o rezolvare diferita decat cea de pe mcip daca se poate
m-am gandit intai ce e deasupra diagonalei principale dupa diagonala secunda si dupa ce e sub diagonala secundara si un contor t=1 pentru cand afisarea e de sus in jos si -1 pentru cand e de jos in sus, dar nu stiu cum sa implementez
Răspunsuri la întrebare
Răspuns de
2
#include <iostream>
using namespace std;
int a[26][26];
int main() {
int n;
cin >> n;
for (int i = 1; i <= n ; i++)
for (int j = 1; j <= n; j++)
cin >> a[i][j];
bool sens = false;
for (int i = 1; i <= n - 1; i++) {
if (sens)
for (int j = 1; j <= i; j++)
cout << a[(i - j + 1)][j]<< ' ';
else
for (int j = i; j >= 1; j--)
cout << a[(i - j + 1)][j] <<' ';
sens = !sens;
}
for (int i = 1; i <= n; i++) {
if (sens)
for (int j = 1; j <= n - i + 1; j++)
cout << a[(n - j + 1)][(i + j - 1)] << ' ';
else
for (int j = n - i + 1; j >= 1; j--)
cout << a[(n - j + 1)][(i + j - 1)] << ' ';
sens = !sens;
}
return 0;
}
using namespace std;
int a[26][26];
int main() {
int n;
cin >> n;
for (int i = 1; i <= n ; i++)
for (int j = 1; j <= n; j++)
cin >> a[i][j];
bool sens = false;
for (int i = 1; i <= n - 1; i++) {
if (sens)
for (int j = 1; j <= i; j++)
cout << a[(i - j + 1)][j]<< ' ';
else
for (int j = i; j >= 1; j--)
cout << a[(i - j + 1)][j] <<' ';
sens = !sens;
}
for (int i = 1; i <= n; i++) {
if (sens)
for (int j = 1; j <= n - i + 1; j++)
cout << a[(n - j + 1)][(i + j - 1)] << ' ';
else
for (int j = n - i + 1; j >= 1; j--)
cout << a[(n - j + 1)][(i + j - 1)] << ' ';
sens = !sens;
}
return 0;
}
Alte întrebări interesante
Religie,
8 ani în urmă
Biologie,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă