PDA

Visualizza la versione completa : [C] somma di tutti gli elementi precedenti di un vettore


Skass89
22-12-2009, 12:29
ragazzi dovrei svolgere questo esercizio e non mi viene nessuna idea di algoritmi....mi date uno spunto gentilemente? ecco l'esercizio:

Scrivere un programma per caricare un vettore di numeri interi, e
modificarlo in modo tale che ogni elemento sia la somma di tutti gli
elementi precedenti.
Esempio: A = [1,2,3,4,5] => A = [1,3(1+2),6(1+2+3),10(1+2+3+4),15(1+2+3+4+5)]

oregon
22-12-2009, 12:43
Intanto sai scrivere il codice per l'inserimento da tastiera del vettore?

Skass89
22-12-2009, 12:47
certo....vorrei solo uno spunto per l'algoritmo....

YuYevon
22-12-2009, 12:59
Si chiama somma cumulativa. In sostanza, ogni elemento dell'array (i) deve essere impostato ad un valore pari a quello suo (i) più quello dell'elemento precedente (i-1). Chiaramente devi partire da i = 1 e non 0, perché l'elemento di indice 0 (il primo) non ha elementi ad esso precedenti.

Skass89
22-12-2009, 12:59
ok grazie! ci provo...

Skass89
22-12-2009, 13:08
ok ce l'ho fatta....non se può servire vi posto il codice funzionante:




#include <stdio.h>
#define dim 100

int main(){

int a[dim];
int n, temp, i;


printf("inserire dimensioni vettore = ");
scanf("%d", &n);

for(i=0;i<n;i++){
printf("a[%d] = ", i);
scanf("%d", &a[i]);
}

for(i=1;i<n;i++){
a[i]=a[i]+a[i-1];
printf("%d\n", a[i]);
}



system("pause");
return 0;
}

Loading