PDA

Visualizza la versione completa : ricerca valore massimo,minimo,mediain C++


maxx1
16-08-2006, 20:23
Salve a tutti sono un novizio del C++ , sto preparando un esame di fondamenti di informatica1.
Ho un esercizio che mi stà facendo perdere la testa: in particolare mi si chiede che dato un certo numero di valori reali inseriti ,di calcolare il massimo il minimo e la media degli stessi. f Ad ora mi riesce a calcolare solo la media ( indicando con zero il valore per uscire dal ciclo) ogni volta che cerco di assegnare al valore immesso un'altra variabile per calcolarne separatamente il max o il min questa inesorabilmente mi dà sempre zero: qualche anima pia può aiutarmi a capirci qualche cosa? allego il frammento di programma
grazie a tutti
MAX ( abbiate pieta' !!)
#include <iostream.h>
#include <stdlib.h>
main()
{
double x;
double max=0;
double max1;
double min;
double media=0;
char c;
int N=0;
while(x!=0)

{ cin>>x;
N=N+1;
media=media+x;
}
max1=x;
if(max1>max)
max1=max;

cout<<"la media dei numeri immessi e':"<<media/N;
cout<<"il massimo valore digitato e' pari a : ";
cout<<max;

system("PAUSE");

}

cirilli89
16-08-2006, 21:16
scusa un momento.... nn ti conviene utilizzare un array per inserire tutti i valori e poi lavorare sull'array stesso...... ?

Gnix
16-08-2006, 21:49
Davvero.. guarda che utilizzare un array sarebbe molto più semplice.. ad esempio guarda qua (l'ho scritto in fretta.. si può migliorare)


/* Min, Max, Media */

#include <stdio.h>

int main()
{
// Dichiarazioni
int numeri[]={3,6,2,1,4,5,9,0,8,7};
int elementi = sizeof(numeri)/sizeof(int);
int i, min,max,totale;

// Inizializzazioni
totale = 0;
min = max = numeri[0];

// Trova min, max e totale
for(i=0; i < elementi; i++ ){
if(min > numeri[i]) min = numeri[i];
if(max < numeri[i]) max = numeri[i];
totale += numeri[i];
}

// Stampa risultati
printf("Min: %d\n",min);
printf("Max: %d\n",max);
printf("Media: %d/%d = %f\n",totale,elementi, (float)totale/elementi);

return 0;
}

Gnix

p.s. io l'array l'ho dichiarato con dentro dei numeri, tu puoi fare che vengano inseriti da tasteria (che è molto semplice)

alka
16-08-2006, 22:22
Non capisco il significato del sondaggio, direi pressoché inutile.

Se devi porre un comune quesito, apri una normale discussione senza attivare sondaggi superflui. :rollo:

Loading