Vai al contenuto

Benvenuto nella community di Italiamac Forum

Guest Image

Benvenuto su Italiamac, la più grande comunità AMUG italiana riconosciuta da Apple. La consultazione è libera. Se vuoi anche partecipare attivamente alle discussioni pubblicando post e messaggi puoi iscriverti gratuitamente, avrai molti vantaggi:

  • Pubblicare post, messaggi e richieste di aiuto
  • Fare amicizia e usare i messaggi privati fra utenti
  • Pubblicare annunci di vendita di usato
  • Usare tutte le funzioni della community

ISCRIVITI GRATIS


Change Mode






[C] devo trovare il massimo tra gli elementi di un array e la sua posizione


PC2054V

Recommended Posts

ho spiegato tutto nel titolo

 Apple 

 MacBook 5,1 2.4 ghz HD 500 GB  Time Capsule 500 GB  Magic Mouse  iPhone 3G 4.0 beta 1

Link di questo messaggio
Condividi su altri siti

beh... così su due piedi, ti direi una roba decisamente poco elegante:

dichiara una variabile numerica e dalle il valore minimo che può assumere (tipo -255) e poi la confronti con ogni elemento dell'array, se l'elemento è più grande assegni alla tua variabile il suo valore e ti salvi (in un'altra variabile) il suo indice, così sai in che posizione è. Quando hai scorso tutto l'array avrai il valore massimo nella tua variabile e la sua posizione nell'array (ricorda che l'indicizzazione parte da 0)

sicuramente ci sono modi più eleganti... ma ora non mi viene in mente nulla...

Link di questo messaggio
Condividi su altri siti

più o meno ho capito il ragionamento ora provo

grazie:)

 Apple 

 MacBook 5,1 2.4 ghz HD 500 GB  Time Capsule 500 GB  Magic Mouse  iPhone 3G 4.0 beta 1

Link di questo messaggio
Condividi su altri siti
beh... così su due piedi, ti direi una roba decisamente poco elegante:

dichiara una variabile numerica e dalle il valore minimo che può assumere (tipo -255) e poi la confronti con ogni elemento dell'array, se l'elemento è più grande assegni alla tua variabile il suo valore e ti salvi (in un'altra variabile) il suo indice, così sai in che posizione è. Quando hai scorso tutto l'array avrai il valore massimo nella tua variabile e la sua posizione nell'array (ricorda che l'indicizzazione parte da 0)

sicuramente ci sono modi più eleganti... ma ora non mi viene in mente nulla...

max=v[0];
indice=1;
for(i=1;i<SIZE;i++)
     if(v[i]>max){
                max=v[i];
                indice=i+1;
      }

direi questo... piu' che altro perche' il tuo metodo di prima non considerava se avevi numeri estremamente piccoli :ghghgh:

MacBook Pro 13''

iPhone 3G 4.0.2 (8A400)

Il mio Twitter

Link di questo messaggio
Condividi su altri siti

si, in questo caso è meglio come dici tu, ma non è vero che non si considerano numeri molto piccoli, se la variabile "MAX" è istanziata al numero minimo che può assumere (ovvio, deve essere dello stesso tipo dell'array) considera ogni numero. Ci sono implementazioni (che ora non ricordo, dovrei andare a prendere gli appunti di programmazione XD) in cui non è conveniente assegnare il valore al primo elemento dell'array... non credo sia questo il caso, quindi: la tua soluzione è più pulita.

:-)

Link di questo messaggio
Condividi su altri siti

ho risolto così:

for (i=0; i<num;i++) {

if (max<array) {

max=array;

posizione=i+1;

}

}

printf("il massimo é %d ed è il %d°\n",max,posizione);

 Apple 

 MacBook 5,1 2.4 ghz HD 500 GB  Time Capsule 500 GB  Magic Mouse  iPhone 3G 4.0 beta 1

Link di questo messaggio
Condividi su altri siti

era solo una parte del codice :loveitaliamac:

 Apple 

 MacBook 5,1 2.4 ghz HD 500 GB  Time Capsule 500 GB  Magic Mouse  iPhone 3G 4.0 beta 1

Link di questo messaggio
Condividi su altri siti

Archived

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...

Info

Questo sito utilizza cookies, anche di terze parti e profilazione. Utilizzando il sito acconsenti al loro impiego e dichiari di aver letto e di accettare: Privacy Policy Termini di utilizzo