()
Newbie
Messaggi:
Iscritto:
|
ahahah ma tu vieni al poli :P io avevo lo stesso compito ^^ allora com'è andata?
Purtroppo l'ho letto solo ora altrimenti ti avrei dato una mano volentieri
Per inserire senza ripetizioni bastava controllare ogni volta (prima dell'inserimento) se quel numero era già presente.
Io la mia funzione l'ho fatta cosi, passandole il vettore, il numero di elementi e il dato da cercare.
Non so a quanto ti possa servire ormai visto che l'orale era oggi, ma ti posto lo stesso il codice
Codice sorgente - presumibilmente Java |
boolean presente(float dato, float vett[], int lung_vett) { boolean trovato = FALSE; int i = 0; while(!trovato && i < lung_vett) if(vett[i] == dato) trovato = TRUE; else i++; return(trovato); }/* END PRESENTE*/
|
lung_vett non è la lunghezza del vettore ma il numero di elementi che ci sono dentro
ps. curiosità..hai laface o piccolo? io piccolo :P
Ultima modifica effettuata da il 02/07/2009 alle 18:20 |
|
Lawliet (Normal User)
Expert
Messaggi: 386
Iscritto: 09/04/2009
|
Mmm... il tuo potrebbe andar bene, ma non è finita.. perchè devi anche considerare che se hanno in comune solo un "pezzo".. allora devi sottrarre qualcosa dalla coppia delle variabili x1y1 e x2y2, così calcoli l'area per ciascun rettangolo.. e poi alla fine fai la somma .
Potrei anche sbagliarmi.
|
|
()
Newbie
Messaggi:
Iscritto:
|
si :P
quella è solo la funzione di ordinamento.
Una volta ordinati i due vettori l'algoritmo era strutturato in modo tale che con due cicli for (per scorrere i rettangolini) e un ciclo while (per scorrere la lista) tutto funziona alla perfezione.
Il ciclo while va avanti fino alla fine della lista e fino a quando non ha inserito il rettangolino (cosi che se lo inserisce evita sovrapposizioni).
te lo dico con certezza perchè l'esame l'ho dato oggi
|
|
Lawliet (Normal User)
Expert
Messaggi: 386
Iscritto: 09/04/2009
|
Eh si, spero che ti sia andato bene l'esame! :P (spero anche per nene )
Comunque quella funzione secondo me la potevi evitare, e creare soltanto una funzione che controllava ed eliminava i doppi (oppure quelli compresi dentro un altro rettangolo più grande) e che fa anche sottrazioni dalle coppie di rettangoli con parti comuni.
Ognuno fa come vuole, l'importante è anche che funzioni!
|
|
()
Newbie
Messaggi:
Iscritto:
|
Si grazie l'esame è andato benone ma vorrei farti capire perchè quella funzione era necessaria e la sottrazione no il testo d'esame diceva che memorizzando in due vettori dinamici SENZA RIPETIZIONI (e qui entra in gioco la funzione presente) le coordinate si ottenevano tanti piccoli quadratini che tassellavano tutto il piano! Ogni volta che il quadratino era compreso in un rettangolino (non poteva essere compreso solo in parte, o lo era o non lo era) sommavi all'area l'area del quadratino controllato (che in quasi tutti i casi era 1, in 3 casi erano rettangolini di area 2^^). Risultato 43^^
|
|
Lawliet (Normal User)
Expert
Messaggi: 386
Iscritto: 09/04/2009
|
mmm.. sicuramente il tuo ragionamento è migliore di ciò che avevo pensato io. Alla fine, l'importante è che funzioni sto programma! E che dia quel benedetto risultato!
|
|
nene896 (Normal User)
Rookie
Messaggi: 21
Iscritto: 25/06/2009
|
Ciao!! anch'io ho piccolo!!
cmq non so quale santomi ha graziata, il prof ha detto sant. elio ma l'esame è andato!!!!
WoW!!
cmq tra i problemi della mio codice c'era uanche un incremento di un indice in un for(doveva andare a passi di due) e poi nella funzione calcola area serviva un for anche per le ordinate...
Ora il prox esame è elementi d'info!!(sempre con elio!!)
|
|
Lawliet (Normal User)
Expert
Messaggi: 386
Iscritto: 09/04/2009
|
Buon per te che sei passata!
In bocca al lupo per il prossimo esame Se hai bisogno stiamo qui, e io ti posso aiutare nel mio "piccolo" xD
|
|