Oppure

Loading
13/01/07 14:20
Mark
Salve a tutti, sono un nuovo arrrivo del forum...

Avrei un piccolo problema. Il mio professoremi ha chiesto di scrivere un programma che letti un array di n. numeri ne stampi il maggiore.

Come indizio, mi ha detto di utilizzare un ciclo "for", e di mettere al suo interno le istruzione per avere l'outpu desiderato.

Non ci riesco. Qualcuno può aiutarmi?? Grazie in anticipo..
aaa
13/01/07 14:33
Black Shadow
Mi sembra strano dato che è una cosa semplicissima.

Cmq si può fare così:

//L'array con i valori
int vector[10] = {/*..valori..*/};

//La variabile che conterrà il numero più alto
int greater = 0;

//Un ciclo for per trovare il più valore più alto
for (int a = 0 ; a < 10 ; a++) {
   if (vector[a] > greater) greater = vector[a];
}

/*Stampa greater, cioè il valore più alto trovato nell'array*/
cout << greater;


Cmq ti consiglio di provare e riprovare prima di chiedere aiuto, soprattutto quando si tratta di esercizi.;)
Ultima modifica effettuata da Black Shadow 13/01/07 14:34
aaa
13/01/07 14:38
Mark
Grazie per avermi aiutato. :k:

Afferro al volo il consiglio che mi hai dato e, per evitare di copiare senza capire niente, cercherò di capire il codice...

Molte grazie...:)
aaa
14/01/07 2:03
pierotofy
Postato originariamente da Black Shadow:
Cmq si può fare così:

//L'array con i valori
int vector[10] = {/*..valori..*/};

//La variabile che conterrà il numero più alto
[b]int greater = 0;[/b]

//Un ciclo for per trovare il più valore più alto
for (int a = 0 ; a < 10 ; a++) {
   if (vector[a] > greater) greater = vector[a];
}

/*Stampa greater, cioè il valore più alto trovato nell'array*/
cout << greater;




Il codice presenta un'imperfezione notevole, in quanto il testo non specifica che l'input è per forza > 0, quindi se l'array contenesse solamente elementi negativi il programma darebbe un risultato errato.

E visto che Windows trasforma tutti gli int in long int, per rendere il codice portabile dobbiamo anche modificare il tipo di dato da int a long int:

//L'array con i valori
long int vector[10] = {/*..valori..*/};

//La variabile che conterrà il numero più alto
long int greater = -0x7FFFFFFF;

//Un ciclo for per trovare il più valore più alto
for (int a = 0 ; a < 10 ; a++) {
   if (vector[a] > greater) greater = vector[a];
}

/*Stampa greater, cioè il valore più alto trovato nell'array*/
cout << greater;

Ultima modifica effettuata da pierotofy 14/01/07 2:04
Il mio blog: piero.dev
14/01/07 11:05
nikipe_silver
penso che sia meglio una soluzione del genere
int vett[10];

Leggi();//...

int max=vett[0];

for(int i=1;i<10;i++)
 if(max<vett[i])
   max=vett[i];

stampa_magg();//...


Cosi non abbiamo sorprese...
aaa