Programma con funzione: massimo valore di una matrice

di Anonimizzato7293 il
2 risposte
Ciao, sto cercando di creare un programma che data una matrice 5x5 con ogni elemento inserito dall'utente ne trovi il valore massimo. però si pianta!!
potete aiutarmi a trovare l'errore?
#include <stdio.h>
#include <stdlib.h>

int maxmat5x5 (int j,int k,int o,int m,int mat[5][5])
{
    float max;
    for(j=0;j<5;j++){
        for(k=0;k<5;k++){
            for(o=0;o<5;o++){
                for(m=0;m<5;m++){
                        if (mat[j][k]>=mat[o][m]){
                            continue;}
                        else{
                            break;}
                                }
                            }
                        max=mat[j][k];}
                    }
    return max;
}



int main()
{
    int ma[5][5];
    int riga,colonna;
    int riga2,colonna2;
    int maxmat;

    for (riga=1;riga<6;riga++){
        for (colonna=1;colonna<6;colonna++){
            printf("inserire il valore della matrice in posizione %d x %d\n",riga,colonna);
            scanf("%d",&ma[riga][colonna]);}}

    printf("\n\nla matrice inserita e'\n\n");

    for (riga=1;riga<6;riga++)
        {
        printf("| ");
        for(colonna=1;colonna<6;colonna++)
            {
            printf("%2d ",ma[riga][colonna]);
            }
        printf("|\n");
        }

    maxmat= maxmat5x5(riga,colonna,riga2,colonna2,ma[5][5]);
    printf("%d",maxmat);

    return 0;
}

2 Risposte

  • Ciao

    ora ti dico una cosa il break NON si usa MAI!!!

    Quindi riscrivilo con i while!!

    La funzione non ha tanto senso ed è di difficile interpretazione perchè non è strutturato!!
  • Potresti trasformare la matrice in un vettore e poi usare una routine di riordino (ce ne sono a pacchi nella rete: sort, quicksort ecc)
Devi accedere o registrarti per scrivere nel forum
2 risposte