Oppure

Loading
23/04/09 9:01
riccardop
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++

/*programma per il calcolo del valore medio di un numero non superiore a 1000 valore reali*/
 #include <stdio.h>
 float A[1000],N,med;
 int i;
 main ()
 {
 printf("il numero di valori da trattare sarà N=");
 scanf("%f",&N);
 if (N<=1000)
 {
 med=0;
 for (i=1;i<=N;i++)
 {
 printf("A[%d]=",i);
 scanf("%f",&A[i]);
 med=med+A[i];
 }
 med=med/N;
 printf("med=%f",med);
 }
 else
 printf("il programma non e sviluppabile perchè e superiore a 1000");
 }
Ultima modifica effettuata da riccardop 23/04/09 9:02
aaa
23/04/09 9:24
theprogrammer
aaa
23/04/09 9:24
lorenzo
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....

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[i] < min)
			min = arr[i];
		else
			if(arr[i] > max)
				max = arr[i];
		med += arr[i];
		i++;
	}
	med /= ln;
}
Ultima modifica effettuata da lorenzo 23/04/09 9:35
aaa
23/04/09 10:55
riccardop


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 23/04/09 11:07
aaa
23/04/09 11:24
lorenzo
ah se non hai fatto ancora le funzioni allora prendi il codice che ti ho scritto

max = arr[0]; 
    min = arr[0]; 
    med = arr[0]; 
    int i = 1; 

    while(i < ln) 
    { 
        if(arr[i] < min) 
            min = arr[i]; 
        else 
            if(arr[i] > max) 
                max = arr[i]; 
        med += arr[i]; 
        i++; 
    } 
    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 23/04/09 11:26
aaa
23/04/09 11:34
riccardop
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[i] < min)
                min = arr[i];
         else
                if(arr[i] > max)
max = arr[i];
         med += arr[i];
         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[i] < min)
                min = arr[i];
         else
                if(arr[i] > max)
max = arr[i];
         med += arr[i];
         i++;
     }
     med /= ln;
}
aaa
23/04/09 11:44
lorenzo
#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[i] < min) 
            min = arr[i]; 
        else 
            if(arr[i] > max) 
                max = arr[i]; 
        med += arr[i]; 
        i++; 
    } 
    med /= ln;
} 
else 
printf("il programma non e sviluppabile perchè e superiore a 1000"); 
}


in un programma C/C++ il main deve essere sempre presente
Ultima modifica effettuata da lorenzo 23/04/09 11:45
aaa
23/04/09 12:07
riccardop
#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-|
aaa