Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C]problema massimo in un array

    avrei un problema in questo programma in C.Il programma consiste nell'inserire un valore n compreso da 1 a 100 e memorizzare nell'array gli n valori inseriti. Successivamente stampare i valori e visualizzare il massimo. Ma il massimo non me lo visualizza correttamente nonostante abbia fatto le dovute correzioni.

    codice:
    #include <stdio.h>
    
    #define MAX_INS 100
    
    int main()
    {
     int vett[MAX_INS];
     int i,N,massimo;
    
     massimo=vett[0];
    
     do{
            printf("Inserisci un intero N: ");
            scanf("%d", &N);
            if(N<1 || N>MAX_INS)
            printf("ERRORE:Inserire valore intero compreso tra 1 e 100\n");
        }
        while(N<1 || N>MAX_INS);
    
        for(i=0; i<N; i++){
         printf("Inserisci valore n.%d nell'indice %d:", i+1,i);
         scanf("%d", &vett[i]);
         if(vett[i]>massimo)
         massimo=vett[i];
        }
    
        for(i=0; i<N; i++){
         printf("%d ", vett[i]);
        }
    
        printf("\nIl valore massimo inserito e': %d\n", massimo);
    
    }

  2. #2
    risolto il problema sistemando il codice nella seguente maniera:

    codice:
    #include <stdio.h>
    
    #define MAX_INS 100
    
    int main()
    {
     int vett[MAX_INS];
     int i,N,max;
    
     do{
            printf("Inserisci un intero N: ");
            scanf("%d", &N);
            if(N<1 || N>MAX_INS)
            printf("ERRORE:Inserire valore intero compreso tra 1 e 100\n");
        }
        while(N<1 || N>MAX_INS);
    
        for(i=0; i<N; i++){
         printf("Inserisci valore n.%d nell'indice %d:", i+1,i);
         scanf("%d", &vett[i]);
        }
    
        max=vett[0];
        for(i=0; i<N; i++)
         if(vett[i]>max)
          max=vett[i];
    
        for(i=0; i<N; i++){
         printf("%d ", vett[i]);
        }
    
        printf("\nIl valore massimo inserito e': %d\n", max);
    }
    ora il programma funziona. Quello che non capisco è che ho variato solamente la posione delle istruzioni.

  3. #3
    Nel primo listato quando facevi (all'inizio del main):
    codice:
    massimo=vett[0];
    assegnavi un valore indefinito alla variabile massimo.

  4. #4
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Inizializzate sempre gli array a 0!!
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.