Informatică, întrebare adresată de mariscatioxhsnf, 8 ani în urmă

Se dă o matrice m cu N linii și N coloane. Să se afișeze fiecare paralelă la diagonala principală. Paralele vor fi parcurse de la stânga la dreapta. Elementele de pe fiecare paralelă vor fi parcurse de jos în sus.

Date de intrare
De pe prima linie se citesc la tastatură numărul N. De pe următoarele N linii se citesc N numere naturale care reprezintă elementele matricei.

Date de ieșire
Programul va afișa pe ecran un șir de numere, separate prin spații, reprezentând elementele matricei parcurse în ordinea din enunț.

Restricții și precizări
1 ≤ N ≤ 50
1 ≤ m[i][j] ≤ 100
Exemplu
Date de intrare Date de ieșire
4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16 13 14 9 15 10 5 16 11 6 1 12 7 2 8 3 4

Răspunsuri la întrebare

Răspuns de blindseeker90
7
#include <iostream>
using namespace std;

int main(){

int m[51][51];
int n,i,j,k;
cin>>n;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
cin>>m[i][j];
}
}
//citire diagonale paralele sub diagonala principala
//si diagonala principala
for(k=1;k<=n;k++){
i=n;
j=k;
while(j>0){
cout<<m[i][j]<<" ";
i--;
j--;
}
}
//citire deasupra diagonalei principale
for(k=n-1;k>=1;k--){
j=n;
i=k;
while(i>0){
cout<<m[i][j]<<" ";
i--;
j--;
}
}
return 0;
}

mariscatioxhsnf: Dar primesc o gramada de erori
blindseeker90: ai grija la modul in care sunt puse acoladele. Programul a fost testat
Alte întrebări interesante