|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: May 2005
Messaggi: 249
|
[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?? come fa una cosa ricorsiva ad essere iterativa? spero che qualcuno possa chiarirmi le idee
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Azzz...fai i complimenti a chi l'ha scritto
Sinceramente non ci ho capito niente |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: May 2005
Messaggi: 249
|
meno male almeno il problema non è il mio....
è un esercizio che devo portare per fare un esame, l'ha scritto un prof!! e bada bene che ho riportato la traccia esatta... andiamo per gradi.. almeno hai idea di cosa sia il raddoppiamento ricorsivo??? |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Leggi qui...non mi sembrava un termine nuovo: http://www.hwupgrade.it/forum/showthread.php?t=1531710
Deve essere lo stesso prof. |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: May 2005
Messaggi: 249
|
grazie mille.
Allora ho sciolto un pò di dubbi. Il fatto di unire ricorsivo ed iterativo è stato un errore di stampa 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?
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Dimmi se rispecchia il problema :
Codice:
#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;
}
__________________
GPU Compiler Engineer |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: May 2005
Messaggi: 249
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1075
|
sono pochi mesi che programmo ed queste ricorsive mi stanno togliendo veramente la pelle...
|
|
|
|
|
|
#9 |
|
Member
Iscritto dal: May 2005
Messaggi: 249
|
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
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:55.



















