Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Errori  nel programma dell'esame!!!
Forum - C/C++ - Errori nel programma dell'esame!!! - Pagina 5

Pagine: [ 1 2 3 4 5 6 ] Precedente | Prossimo
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 17:51
Giovedì, 02/07/2009
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

  1. boolean presente(float dato, float vett[], int lung_vett)
  2. {
  3. boolean trovato = FALSE;
  4. int i = 0;
  5.  
  6. while(!trovato && i < lung_vett)
  7.         if(vett[i] == dato)
  8.                 trovato = TRUE;
  9.         else
  10.                 i++;
  11. return(trovato);
  12. }/* 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
PM Quote
Avatar
Lawliet (Normal User)
Expert


Messaggi: 386
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 19:49
Giovedì, 02/07/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.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 21:29
Giovedì, 02/07/2009
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 ;)

PM Quote
Avatar
Lawliet (Normal User)
Expert


Messaggi: 386
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 21:42
Giovedì, 02/07/2009
Eh si, spero che ti sia andato bene l'esame! :P (spero anche per nene :D)
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! :D

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 9:22
Venerdì, 03/07/2009
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^^

PM Quote
Avatar
Lawliet (Normal User)
Expert


Messaggi: 386
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 9:55
Venerdì, 03/07/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! :D

PM Quote
Avatar
nene896 (Normal User)
Rookie


Messaggi: 21
Iscritto: 25/06/2009

Segnala al moderatore
Postato alle 10:23
Venerdì, 03/07/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!!)

PM Quote
Avatar
Lawliet (Normal User)
Expert


Messaggi: 386
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 10:27
Venerdì, 03/07/2009
Buon per te che sei passata! :rotfl:
In bocca al lupo per il prossimo esame :) Se hai bisogno stiamo qui, e io ti posso aiutare nel mio "piccolo" xD

PM Quote
Pagine: [ 1 2 3 4 5 6 ] Precedente | Prossimo