Jump to content

Programmazione in C


Recommended Posts

filippogherardi

per fortuna che il mio esame di C l'ho già passato

la cosa più incomprensibile da noi era la grafica, che il prof ci aveva riempito di librerie...

i puntatori li ho sempre usati a caso finche non girava il programma...

per fortuna essendo matematici ciò che ci chiedeva il prof era perlopiù di fare algoritmi

per elaborare immagini

per risolvere sudoku

o per moltiplicare matrici, per trovare numeri primi e tante altre cose molto matematiche

in quello posso dare una mano!

dato che non riesco a capire l'utilità delle funzioni passate come parametro.. e non riesco a trovare sul mio manuale di c una pagina che lo illustri, volevo sapere (per quanto possiate capire dal codice) se questa funzione è scritta giusta

 

albin searchsnode(albin r, char *k, albin search(albin, char*)) {

  albin abc;

  if(r != NULL && r->nome == k)    /*se il nome è la stanza d'ingresso del deposito */

  return r;

  else{

    if (r != NULL && r->abs != NULL) { /* se la radice non è vuota e il sottoalbero delle stanze non è vuoto*/

    abc = search(r->abs, k);

    if (abc == NULL){

      searchsnode(r->sx, k, search);

      searchsnode(r->dx, k, search);

    }

    }

}

  return abc;

}

 

e in secondo luogo, potrei scriverla anche senza passare la funzione come parametro, vero? xkè a me sembra una cosa tanto inutile >.<''

lfn ;)

altra domanda..

 

questa funzione mi dà errore alla riga del while

 

void ddelete(albin radix) {

  while(radix = snodedelete(radix, radix));

}

 

questo errore cosa dovrebbe indicare?

 

suggest parentheses around assignment used as a truth value

 

il significato è chiaro, dice di parentesizzarlo.. ma come? >.<

lfn :rotfl:

altra domanda..

 

questa funzione mi dà errore alla riga del while

 

void ddelete(albin radix) {

  while(radix = snodedelete(radix, radix));

}

 

questo errore cosa dovrebbe indicare?

 

suggest parentheses around assignment used as a truth value

 

il significato è chiaro, dice di parentesizzarlo.. ma come? >.<

lfn

 

guarda, per questo prova a mettere un == invece di un solo = (non si sa mai, si va sempre per tentativi :look:)

in realtà non so com'è fatta di preciso la funzione che richiami, quindi non so...però controlla che la funzione restituisca un boolean, true o false...

Per la domanda di sopra...non so.... :rotfl:

Io ci ho fatto una tesina per sistemi operativi in c, ma non ho mai usato funzioni passandole come parametri a altre funzioni...  :roll:

e no, radix è un puntatore ad un nodo, e snodedelete restituisce la radice dell'albero a cui ha cancellato il nodo..

 

void destroysearchtree(searchtree *p)

{

while(p = delete(p,p));

}

e in teoria questa dovrebbe essere scritta giusta visto che l'ha fatta il prof :roll:

 

in pratica la funzione che ho riadattato è scritta così..

lo so che è difficile spiegare, pero' finora ho scritto 350 righe di codice, e spiegare il tutto non è semplice.. >.<

ok grazie lo stesso ^^

lfn :rotfl:

Lfn il primo suggerimento che ti posso dare e` questo

 

void ddelete(albin radix) {

  while((radix = snodedelete(radix, radix)));

}

 

Sul resto della funzione non saprei che dirti ... dovrei rileggere il tutto e ho poco tempo, lo faro` piu` la` o magari e` meglio sentirsi via chat.

 

 

void destroysearchtree(searchtree *p)

{

  while(p = delete(p,p));

}

 

questa qui dovrebbe dare errore allo stesso modo  :D

  • 2 months later...

Ragazzi ho un serio problema da affrontare in Dev C++!!!!

 

Devo mostrare a video poliedri in uno spazio 3D ed effettuare su di essi alcune orperazioni:

1) ingrandimenti e zoom out

2) rotazioni rispetto ai 3 assi

3) modifica del punto di vista

4) proiezione prospettica (facoltativo)

 

Se qualcuno ha idea di cosa debba scrivere mi dica...il mio prof è un bastardo cronico e non so da dove cominciare!!!AIUTOOOOOOOOOO

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...