Salve ho il seguente problema; se mi da una matrice n*k, e ci chiede qual'è l'elemento massimo (piu grande)della parte superiore della matrice e quello minimo (piu piccolo) della matrice , tenendo conto che la parte superiore sarebbero tutti i numeri che si trovano sopra i 0, e naturlamente la parte inferiore sarebbe quella sotto i 0:
codice:0 0 0 0 0 0 0 0 0
IO lascio la colonna ferma (c) e scorro le righe ma non so come dirli che quando si trovi uno 0, si deve fermare e si deve incrementare la colonna c++
grazie.
codice:# include <iostream> using namespace std; const int n=5; const int k=9; int main () { int maxSup=0; int c=0; int a[n] [k]={{5,7,3,2,2,7,8,5,8}, {0,3,5,4,6,0,0,5,4}, {6,0,0,7,0,9,9,0,6}, {7,4,5,0,4,2,5,7,0}, {3,4,8,7,5,9,4,9,9}}; for (int i=0;i<n;i++) { for (int j=0; j<k;j++) cout<<a[i][j]<<" "; cout<<endl; } for (int i=0; i<n;i++) { while (a[i][c]!=0) { if (a[i][c]>maxSup) maxSup=a[i][c]; c++; } } cout<<"il maximo e"<<maxSup; return 0; }