PDA

Visualizza la versione completa : Esercizio da fare con ciclo for. HELP!!!


seppa93
27-08-2010, 18:16
Salve a tutti mi sono da poco registrato su questo sito e ho un problema con un programma in c++.
io devo fare un programma in C che ricevendo in input dieci numeri interi, uno alla volta, restituisca in uscita il numero più alto (MAX) ed il numero più basso (MIN).
IL PROBBLEMA è CHE NON MI FUNZIONANO LE IF!!
Questo è quello che ho fatto io

#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int n, max, min;
min = 0;
max = 0;
for(i=1;i<=10;i++)
{
printf("dammi il valore:");
scanf("%d", &n);
if(min < n) min=n;
if(max > n) max=n; }

please help!!!

zucchino
27-08-2010, 18:30
e' sbagliata la logica...

devi sostituire min con n quando n è minore di min.
stesso discorso vale per max.

Altra cosa... non puoi inizializzare min a 0...

Cell
27-08-2010, 18:31
Se il tuo problema è che non compila proprio, sicuramente tra i problemi che vedo c'è la variabile i del ciclo non dichiarata.

Al di là dei problemi di compilazione, comunque, credo che il problema principale sia che devi invertire i segni > e < nei due if.
Infatti, ad esempio, devi aggiornare min con il nuovo valore n solo se n è più piccolo di min (ovvero se min>n), e non il viceversa. Discorso analogo per il max.

Inoltre min e max all'inizio non vanno inizializzati a zero. Ti faccio un esempio. Supponiamo che tu abbia come numeri 9, 13, 4, 22, 18, 8, 14. Il minimo è 4, ma se tu inizializzi all'inizio min a zero, tale valore rimarrà sempre a zero, in quanto zero è più piccolo di tutti gli altri. Simile cosa può accadere col massimo se inserisci tutti numeri negativi. A tal fine, è necessario che tu inizializzi min e max al valore del primo numero inserito.

:ciauz:

seppa93
27-08-2010, 18:36
quindi al posto dello zero in min e max vado a mettere n?
il prg poi io l'ho finito così
}
printf("il numero max è : %d", max);
printf("il numero min è : %d" , min);
getch();
}

Cell
27-08-2010, 18:43
Sì, min e max all'inizio li devi porre pari ad n, in particolare al primo numero n che leggi.

seppa93
27-08-2010, 18:44
ok grazie!!!!!
:unz: a presto :ciauz:

simo_85
27-08-2010, 18:46
Originariamente inviato da seppa93
ok grazie!!!!!
:unz: a presto :ciauz:
Si ma quando torni usa i tag codes plz.. :jam:

seppa93
27-08-2010, 18:46
i che???

simo_85
27-08-2010, 18:53
Originariamente inviato da seppa93
i che???
Leggi un pò qui (http://forum.html.it/forum/showthread.php?s=&threadid=973887), leggilo tutto ma io parlo del punto nº 6.
Ciao.

Cell
27-08-2010, 18:54
Simo_85 intendeva dire che quando scrivi del codice di scriverlo tra i tag [ CODE] e [ /CODE] (senza lo spazio tra le quadre), in modo tale che il codice appaia anche con l'eventuale indentatura, utile alla sua leggibilità. ;)

Loading