Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicitÓ e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - calcolare valore massimo, medio,minimo
Forum - C/C++ - calcolare valore massimo, medio,minimo

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
riccardop (Normal User)
Newbie


Messaggi: 9
Iscritto: 23/04/2009

Segnala al moderatore
Postato alle 11:01
Giovedý, 23/04/2009
buon giorno ragazzi sono disperato non riesco a creare una soregente per calcolare un valore massimo medio e minimo assieme sono riuscito solo a calcolare il valore medio

vorrei un aiuto da parte vostra ora vi posto il calcolo medio
vorrei integrare nella soregente il valore massimo e medio con quello minimo
in c++

Codice sorgente - presumibilmente C++

  1. /*programma per il calcolo del valore medio di un numero non superiore a 1000 valore reali*/
  2.  #include <stdio.h>
  3.  float A[1000],N,med;
  4.  int i;
  5.  main ()
  6.  {
  7.  printf("il numero di valori da trattare sarÓ N=");
  8.  scanf("%f",&N);
  9.  if (N<=1000)
  10.  {
  11.  med=0;
  12.  for (i=1;i<=N;i++)
  13.  {
  14.  printf("A[%d]=",i);
  15.  scanf("%f",&A[i]);
  16.  med=med+A[i];
  17.  }
  18.  med=med/N;
  19.  printf("med=%f",med);
  20.  }
  21.  else
  22.  printf("il programma non e sviluppabile perchŔ e superiore a 1000");
  23.  }


Ultima modifica effettuata da riccardop il 23/04/2009 alle 11:02
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 11:24
Giovedý, 23/04/2009

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 11:24
Giovedý, 23/04/2009
sinceramente non ho ben capito, tu vuoi una funzione che ti calcoli il max, min e il medio di un array di float in contemporanea?

se Ŕ questo che vuoi....

Codice sorgente - presumibilmente C++

  1. void TuttoInsieme(float arr[], int ln, float &max, float &min, float &med)
  2. {
  3.         max = arr[0];
  4.         min = arr[0];
  5.         med = arr[0];
  6.         int i = 1;
  7.  
  8.         while(i < ln)
  9.         {
  10.                 if(arr[i] < min)
  11.                         min = arr[i];
  12.                 else
  13.                         if(arr[i] > max)
  14.                                 max = arr[i];
  15.                 med += arr[i];
  16.                 i++;
  17.         }
  18.         med /= ln;
  19. }


Ultima modifica effettuata da lorenzo il 23/04/2009 alle 11:35
PM Quote
Avatar
riccardop (Normal User)
Newbie


Messaggi: 9
Iscritto: 23/04/2009

Segnala al moderatore
Postato alle 12:55
Giovedý, 23/04/2009


esatto, mi servirebbe una funzione che riuscirebbe a calcolare il valore massimo medio e minimo essendo alle prime armi non so, come includerlo nella sorgente scritta in precedenza da me ....


grazie :)

Ultima modifica effettuata da riccardop il 23/04/2009 alle 13:07
PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 13:24
Giovedý, 23/04/2009
ah se non hai fatto ancora le funzioni allora prendi il codice che ti ho scritto

Codice sorgente - presumibilmente C/C++

  1. max = arr[0];
  2.     min = arr[0];
  3.     med = arr[0];
  4.     int i = 1;
  5.  
  6.     while(i < ln)
  7.     {
  8.         if(arr[i] < min)
  9.             min = arr[i];
  10.         else
  11.             if(arr[i] > max)
  12.                 max = arr[i];
  13.         med += arr[i];
  14.         i++;
  15.     }
  16.     med /= ln;



e inseriscilo nel main dopo l'acquisizione del vettore da tastiera.
quindi al posto di arr userai A
max e min devi dichiararle nello stesso modo in cui hai dichiatato med nel tuo codice
ovviamente ln Ŕ la lunghezza del vettore che nel tuo corrisponde ad N se non sbaglio

alla fine avrai i risultati nelle variabili max, med e min

Ultima modifica effettuata da lorenzo il 23/04/2009 alle 13:26
PM Quote
Avatar
riccardop (Normal User)
Newbie


Messaggi: 9
Iscritto: 23/04/2009

Segnala al moderatore
Postato alle 13:34
Giovedý, 23/04/2009
Ok ho provato ma forse sto facendo qualche cavolata mi da molti errori

/*programma per il calcolo del valore massimo, medio, minimo, di un numero non superiore a 1000 valore reali*/
#include <stdio.h>

float A[1000],max,med,min,
int i;
main ()
max = arr[0];
     min = arr[0];
     med = arr[0];
    int i = 1;

     while(i < ln)
     {
        if(arr < min)
                min = arr;
          else
                if(arr > max)
                max = arr;
          med += arr;
          i++;
    }
     med /= ln;
void TuttoInsieme(float arr[], int ln, float &max, float &min, float &med)
{
    max = arr[0];
     min = arr[0];
     med = arr[0];
     int i = 1;

     while(i < ln)
     {
          if(arr < min)
                min = arr;
          else
                if(arr > max)
                max = arr;
          med += arr;
          i++;
     }
     med /= ln;
}

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 13:44
Giovedý, 23/04/2009
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. float A[1000],N,med,max,min;
  3. int i;
  4. main ()
  5. {
  6. printf("il numero di valori da trattare sarÓ N=");
  7. scanf("%f",&N);
  8. if (N<=1000)
  9. {
  10. i = 1
  11. max = arr[0];
  12.     min = arr[0];
  13.     med = arr[0];
  14.  
  15.     while(i < N)
  16.     {
  17.         if(arr[i] < min)
  18.             min = arr[i];
  19.         else
  20.             if(arr[i] > max)
  21.                 max = arr[i];
  22.         med += arr[i];
  23.         i++;
  24.     }
  25.     med /= ln;
  26. }
  27. else
  28. printf("il programma non e sviluppabile perchŔ e superiore a 1000");
  29. }



in un programma C/C++ il main deve essere sempre presente

Ultima modifica effettuata da lorenzo il 23/04/2009 alle 13:45
PM Quote
Avatar
riccardop (Normal User)
Newbie


Messaggi: 9
Iscritto: 23/04/2009

Segnala al moderatore
Postato alle 14:07
Giovedý, 23/04/2009
#include <stdio.h>
float A[1000],N,med,max,min;
int i;
main ()
{
printf("il numero di valori da trattare sarÓ N=");
scanf("%f",&N);
if (N<=1000)
{
i = 1
max = arr[0];
     min = arr[0];
     med = arr[0];

     while(i < N)
     {
          if(arr < min)
                min = arr;
          else
                if(arr > max)
                     max = arr;
          med += arr;
          i++;
     }
     med /= ln;
}
else
printf("il programma non e sviluppabile perchŔ e superiore a 1000");
}


Si comunque il main lo messo nella sorgente anche quella che ho postato io prima quando lo avvio mi da 6 errori che strano 8-|

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 14:13
Giovedý, 23/04/2009
veramente nel codice che hai inserito prima c'era scritto solo main()
senza parentesi ne altro e in pi¨ avevi mischiato la mia funzione al codice mettendola a caso.

Comunque mi sembra ovvio che il vettore deve essere pieno per essere analizzato.
Quindi prima di cominciare con max = arr[0] etc... devi fare un ciclo per inseirire i valori, proprio come avevi fatto prima

e poi ti avevo detto di cambiare arr in A, ma hai letto quello che ti ho scritto o hai solo copiato il codice???? :nono:

Ultima modifica effettuata da lorenzo il 23/04/2009 alle 14:18
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo