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;
}