View Full Version : [C] raddoppiamento ricorsivo?
Function C per calcolare una somma di molti addendi mediante raddoppiamento ricorsivo nella versione iterativa usando un array in memoria...
ora mi chiedo..ma cosa è il raddoppiamento ricorsivo in versione iterativa?? :mbe: :mbe: :mbe: :mbe:
come fa una cosa ricorsiva ad essere iterativa?
spero che qualcuno possa chiarirmi le idee :doh:
:help: :help: :help:
Azzz...fai i complimenti a chi l'ha scritto :eek:
Sinceramente non ci ho capito niente :D
meno male almeno il problema non è il mio....
è un esercizio che devo portare per fare un esame, l'ha scritto un prof!! :D
e bada bene che ho riportato la traccia esatta...
andiamo per gradi.. almeno hai idea di cosa sia il raddoppiamento ricorsivo???
Leggi qui...non mi sembrava un termine nuovo: http://www.hwupgrade.it/forum/showthread.php?t=1531710
Deve essere lo stesso prof.
grazie mille.
Allora ho sciolto un pò di dubbi.
Il fatto di unire ricorsivo ed iterativo è stato un errore di stampa :mbe:
l'esercizio vuole la somma raddoppiata ricorsiva degli elementi di un array, dove per somma raddoppiata ricorsiva si intende questo
per esempio noi abbiamo questi elementi
0 2 6 3 4 2
la somma ovviamente è 17 e la si deve ottenere con una funzione che somma prima 0+2 poi 6+3 poi 4+2
poi somma i rispettivi risultati che sono 2 9 6 facendo 2+9 e quello che viene +6 cioè 11+6 = 17
qualche idea?:mbe:
AnonimoVeneziano
21-11-2007, 19:26
Dimmi se rispecchia il problema :
#include <stdio.h>
#include <stdlib.h>
int sumric(int[], int);
int main() {
int array[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
printf("%d\n", sumric(array, 11));
return 0;
}
int sumric(int array[], int length){
int newlen = length / 2;
int sum1 = 0;
int sum2 = 0;
if (length == 1)
return array[0];
sum1 = sumric(array, newlen);
sum2 = sumric(array+newlen, newlen);
if (length % 2 != 0)
return sum1+sum2+array[length-1];
return sum1+sum2;
}
:) va benissimo grazie sei stato molto gentile
norbertom
22-11-2007, 00:58
sono pochi mesi che programmo ed queste ricorsive mi stanno togliendo veramente la pelle...
a chi lo dici...non so perché ho sempre un pò di difficoltà ad avere l'intuizione base..spero sia solo un problema di allenamento :doh:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.