PDA

Visualizza la versione completa : [C] Funzione ricorsiva per somme vettori


Geps94
08-11-2014, 16:49
Salve a tutti;
il problema è il seguente:
abbiamo due vettori uno di interi, che chiameremo A, e uno di double, che chiameremo B,
l'esercizio mi chiede di creare una funzione che restituisca un vettore di double, i cui elementi sono la somma degli n elementi del vettore A dove n sono i valori degli elementi del vettore B.
Il linguaggio di programmazione da usare è il C e si deve implementare l'algoritmo in maniera ricorsiva.
Esempio:
A={1;2;3}
B={1,32;3,43;5,67;5;8,45;9,32}
il vettore da generare sarà:
C={1,32; 9,1; 22,7}

GRAZIE IN ANTICIPO A TUTTI ;);)

tampertools
08-11-2014, 17:12
E' un compito scolastico?

Comunque... dovrei prendere i valori con indice 1,32 3,43... del vettore A (:confused:) e sommarli? E non dovrebbe restituire un double, non un vettore di double?

oregon
08-11-2014, 19:12
GRAZIE IN ANTICIPO A TUTTI ;);)

Ma una tua idea non la proponi?

Geps94
08-11-2014, 19:51
Si è un compito.
Abbiamo fatto la parte iterativa col prof. Ora ci ha assegnato di farlo in forma ricorsiava.
Sinceramente non ho idee, ecco perché non ho scritto nnt altro che la traccia dell'esercizio.

tampertools
08-11-2014, 20:10
Posta quello che avevi fatto, così da avere un punto di partenza

oregon
08-11-2014, 21:05
Non puoi chiedere qui il codice per il compito ...

tampertools
08-11-2014, 22:18
Ah ecco, ricordavo che era vietato (per questo ho chiesto se era un compito) ma non trovando il punto nel regolamento...

Comunque ti faccio un esempio di funzione ricorsiva:

Codice con un ciclo:
- Funzione potenza (base, esponente):
- - Assegna a "i" il valore 0
- - Assegna a "risultato" il valore 1
- - Finché "i" < "esponente":
- - - Incrementa "i" di 1
- - - Moltiplica "risultato" per "base"
- - Restituisci il valore di "risultato"

Codice ricorsivo:
- Funzione potenza (base, esponente):
- - Se "esponente" è 0:
- - - Restituisci 1
- - Altrimenti:
- - - Assegna a "i" il valore di "esponente" - 1
- - - Assegna a "pot" il valore restituito dalla funzione "potenza" chiamata con "base" e "i" come argomenti
- - - Restituisci il prodotto tra "base" e "pot"

Loading