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


"Non importa se sei un albero od un cespuglio, l'importante Ŕ fare le foglie."
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


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
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


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
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


"Non importa se sei un albero od un cespuglio, l'importante Ŕ fare le foglie."
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


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
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;
}


"Non importa se sei un albero od un cespuglio, l'importante Ŕ fare le foglie."
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


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
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-|


"Non importa se sei un albero od un cespuglio, l'importante Ŕ fare le foglie."
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


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo