PDA

View Full Version : [C] Piccolo programma


spotnewton
09-12-2010, 13:08
Salve qui sotto spoler c'è un programma che ho fatto seguendo questa consegna e vorrei sapere se è giusto... se sbagliato correggetemi xD(sono un principiante) :


Calcolare il valore massimo e il valore minimo di N numeri inseriti dall'estrerno(N>0):

void acquisisci(int *kn)
{
printf("Inserisci dei numeri:\n")
do{
scanf("%*i", kn);
}while(kn<=0);
}

void analizza(int kn, int *kmax, int *kmin)
{
int cont, x;
if(kn>1){
cont=1;
do{
scanf("%", &x);
if(x>*kmax);
*kmax=x;
cont=cont+1;
}while(cont<kn);
}
if(kn>1){
cont=1;
do{
scanf("%", &x);
if(x<*kmin);
*kmin=x;
cont=cont+1;
}while(cont<kn);

}
}

void visualizza(int kmax, kmin)
{
printf("Ecco il massimo:\n %*i, kmax");
printf("Ecco il minimo:\n %*i, kmin);
}

void main()
{
int n, max, min;
acquisisci(&n);
analizza(n, &max, &min);
visualizza(max, min);
}

WarDuck
09-12-2010, 14:31
C'è più di qualcosa che non va, in particolare fai confusione tra interi, puntatori ad interi e array di interi.

Riguarda meglio il programma avendo ben chiari questi concetti.

Inoltre è sempre consigliabile inizializzare le variabili.

In particolare min e max sapendo che sono tutti numeri interi maggiori di 0, andrebbero inizializzati a 0.

Personalmente eviterei di usare funzioni che modificano i parametri in ingresso, ma questo è un altro discorso.