Ciao,anzitutto grazie per la risposta ed il tempo che ci hai perso però purtroppo è una versione estremamente semplificata e incompleta.Per quanto riguarda i parametri due sono più che sufficienti,ammenochè qualcuno non mi riesca a dimostrare che è impossibile (lo escludoOriginariamente inviato da Scara95
Questo dovrebbe funzionare anche se è piuttosto inefficente.codice:somma_binary(inizio_lista, r) { if (n == 0) return; if(inizio_lista->left == NULL) { inizio_lista->left = allocazione_memoria; inizio_lista->left->right = inizio_lista; inizio_lista->left->left = NULL; inizio_lista->left->info = 0; } l->info += r & 1; if(l->info & 2) somma_binary(l->left, 1); l->info &= 1; somma_binary(l->left, r<<1); }
Però puoi sommare solo numeri positivi, e non considera il caso in cui passi all'inizio un NULL, inoltre avrai sempre uno 0 in testa...
Va richiamata con l'ultimo elemento...
E' più semplice implementare una funzione con più parametri e creare una macro che la richiami![]()
.
Comunque colgo l'occasione andando un attimo OT,essendo un neofita del C ,questo tipo di istruzioni cosa fanno ??
Per quanto riguarda l'algoritmo ho provato ad abbozzare qualcosa,ma il problema resta sempre come scorrerre liberamente la lista dall'inizio alla fine e viceversa,non riesco in nessuna maniera xD.codice:1)l->info += r & 1 2)l->info &= 1; 3)r<<1

Rispondi quotando