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

    [C]Algoritmo calcolo max e min

    Buonasera ragazzi,
    fra qualche giorno ho l'esame scritto di programmazione e non riesco a risolvere in toto il seguente problema:"Calcolo del max e min tra n interi (non si precisa la quantità)col ciclo while/for usando valore sentinella"
    Qualcuno può aiutarmi???

    I need source file!

    THX

  2. #2
    Prova questo:
    codice:
      int getMinMax(int v*, int n, int *max, int *min)
      {
        if( !max || !min || !v )
          return 0;
    
        int i;
        *max = *min = v[0];
        for( i = 1; i < n; i++ )
        {
           if( *max < v[i] )
             *max = v[i];
           if( *min > v[i] )
             *min = v[i];
        }
        return 1;
      }
    Provalo perchè l'ho scritto di getto.

  3. #3
    Grazie del supporto, ma ancora vado sul semplice. Di questo che ne pensi?

    /*Programma che calcola media, max e min di un nnumero indefinito di interi
    mediante iterazione indefinita:uso del valore sentinella -1*/
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    int i,num,somma, max, min;
    float media;

    printf("Calcolo della Media, Max e Min tra interi\n\n");


    somma=0;
    i=0;

    printf("Scrivi un intero positivo, -1 per terminare l'input: ");
    scanf("%d", &num);
    max=min=num; //così dovrebbe andar bene!

    while(num!=-1)


    {
    if(num>max)
    max=num;
    if(num<min)
    min=num;

    somma=somma + num;
    i++;
    printf("Scrivi un intero positivo, -1 per terminare l'input: ");
    scanf("%d", &num);

    }
    if(i!=0)
    {
    media=(float)somma/i;
    printf("Somma= %d\n\n", somma);
    printf("Media= %.2f\n\n", media);
    printf("Max= %d\n\n", max);
    printf("Min= %d\n\n", min);
    }

    else
    printf("Non hai inserito alcun numero!!!\n\n");


    system("pause");
    return 0;
    }

  4. #4
    Ma...dovrebbe funzionare...però min non lo puoi inizializzare a zero altrimenti dato che il numero inserito è sempre positivo il min rimane sempre zero. Inizializzalo a MAX_INT o qualcosa del genere oppure metti max e min uguali al primo numero inserito.

  5. #5
    Grazie mille fastcoder,...ora funziona tutto a meraviglia

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 © 2025 vBulletin Solutions, Inc. All rights reserved.