PDA

View Full Version : 1 mano col C


lucas86mj23
05-12-2003, 15:19
ciao ragazzi!
dovrei scrivere un programma ke dopo aver inserito 5 numeri mi dice quale è il maggiore.
-------------------------------
l'ho già fatto con 2

#include <stdio.h>
#include <conio.h>
int main()
{
int a,b;
clrscr();
printf ("scrivi il primo numero");
scanf ("%d",&a);
printf ("scrivi il secondo numero");
scanf ("%d",&b);
printf ("il numero maggiore %d", max(a,b) );
getch();
return 0;
}
int max (int a,int b)
{
int max;
if ( a<b )
max = b ;
if ( a>b )
max = a ;
return (max);
}
-----------------------------------------------------
il mio problema è:
devo fare tutta una serie di IF ke mi analizza , tra i 5, numero per numero o cè un metodo + rapido?
tnx!

cionci
05-12-2003, 15:21
Puoi usare il for !!!

lucas86mj23
05-12-2003, 15:27
hmmm...in che modo?
:confused:

cionci
05-12-2003, 15:54
Sai usare il for e i vettori ?

lucas86mj23
05-12-2003, 16:11
si ma nn ho capito ke c metti nel for.

i 5 numeri li metto in un array?

cionci
05-12-2003, 16:15
Sì...metti i 5 numeri in un array:

int vett[5];
int i, max;
for(i=0; i<5; i++)
scanf("%d", vett[i]);
max = vett[0];
for(i=1; i<5; ++i)
{
if(vett[i] > max)
max = vett[i];
}

lucas86mj23
05-12-2003, 22:10
ekkeccavolo! nn riesco a farlo funziare!
----------------------------------
#include <stdio.h>
#include <conio.h>
int vett[5];
int i,max;
int main()
{
clrscr();
printf("inserisci 5 numeri\n");
for(i=0; i<5; i++)
{
scanf("%d",vett[i]);
max=vett[0];
}
for(i=1;i<5;++i)
{
if(vett[i]>max)
max=vett[i];
}
printf ("il maggiore è %d",&max);
getch();
return 0;
}
----------------------
inserisco i 5 numeri ma mi dice il maggiore è 1276 :confused:

lucas86mj23
05-12-2003, 22:36
uppete ! urge aiuto!! :AVE:

recoil
05-12-2003, 22:42
nella printf non devi usare la & prima di max
stai leggendo il contenuto di una variabile e quindi basta il valore, non l'indirizzo (come nella scanf)

lucas86mj23
05-12-2003, 22:44
ora mi dice il maggiore è 0 !!! :eek:

recoil
05-12-2003, 22:50
perché quando inserisci i numeri nel vettore con la scanf invece devi precisare l'indirizzo, quindi mettere la & davanti a vett[i]

tu hai fatto il contrario prima, hai messo la & dove non ci voleva omettendola dove invece era necessaria

lucas86mj23
05-12-2003, 22:52
grassssssie!!!

Sephiroth83
08-12-2003, 21:11
Originariamente inviato da cionci
Sì...metti i 5 numeri in un array:

int vett[5];
int i, max;
for(i=0; i<5; i++)
scanf("%d", vett[i]);
max = vett[0];
for(i=1; i<5; ++i)
{
if(vett[i] > max)
max = vett[i];
}


Perché vi complicate la vita? Non basterebe un semplice:

int i, max, curr;

scanf("%d", &max);

for(i=1; i<5; i++) {
scanf("%d", &curr);
if(curr > max)
max = curr;
}

cionci
09-12-2003, 01:24
Originariamente inviato da Sephiroth83
Perché vi complicate la vita? Non basterebe un semplice:

Perchè solitamente uno sui numeri ci deve anche lavorare sopra...ecco perchè metterli in un vettore... Un programma del genere non ha alcun senso pratico...