Salve a tutt sono nuovo del forum e scrivo perche mi sono incartato in questo programma:
Non riesco a scrivere né il minimo sulla diagonale principale ne su quella secondaria!!!
Il programma su scritto mi da correttamente i valori di tutti e due i massimi ma per i minimi mi da sempre 0!!!
Help me domani ho l'esame di informatica !!!
codice:
#include <cstdlib>
#include <iostream>
using namespace std;
/*sia m*n matrice immessa da utente,.
Scrivere un programma che definisca un vettore v di 4 elementi,
i cui valori siano:
-il massimo sulla diagonale principale posizione v[0]
-il massimo sulla diagonale secondaria posizione v[1]
-il minimo sulla diagonale principale posizione v[2]
-il minimo sulla diagonale secondaria posizione v[3]
*/
int main(int argc, char *argv[])
{
int A[50][50], M, N, i, j;
cout<<"inserire elementi righe";cin>> M;cout<<endl;
cout<<"inserire elementi colonne";cin>>N ;cout<<endl;
for (i=0;i<M;i++)
for (j=0;j<N;j++)
{
cout<<"Elemento["<<i<<"]["<<j<<"]";cin>> A[i][j];cout<<endl;
}
// lettura a video matrice!
for (i=0;i<M;i++)
{
for (j=0;j<N;j++)
cout<<A[i][j];cout<<" ";cout<<endl;
}
//massimo sulla diagonale principale
int maxp;
A[0][0]=maxp;
for (i=0;i<M;i++)
{
for (j=0;j<N;j++)
if(i==j)
if (maxp<A[i][j])
maxp=A[i][j];
}
//minimo sulla diag principale
int minp;
for (j=0;j<N;j++)
{
A[0][j]=minp;
for(i=0;i<M;i++)
{
if(i==j)
{
if(minp>A[i][j])
minp=A[i][j];
}}}
//massimo sulla diagonale secondaria
int maxs;
A[0][N]=maxs;
{
for(j=N-1;j>=0;j--)
for(i=0;i<M;i++)
{
if (A[i][j]=A[i][N-1-i])
if (maxs<A[i][j])
maxs=A[i][j];
}
}
//minimo sulla secondaria
cout<<maxp;cout<<endl;
cout<<maxs;cout<<endl;
cout<<minp;cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}