Ciao a tutti, io ho questi numeri 2 3 4 5 6
e calcolo le somme parziali, ossia
2+3.. +4.. +5..+6 e poi inizia dal numero 3.. 3+4..+5.. +6
Io invece voglio che il 2 rimanga fermo e che sommi il 2 a tutti gli altri,
cioè 2+3 vedo la somma,2+4 vedo la somma ,2+5, 2+6
e poi inizio di nuovo da 3, cioè 3+4, 3+5 etc..
Posso modificare questo codice o lo devo buttare via???
codice:#include <stdio.h> #include <stdlib.h> int main(void) { int numero ; /* numero inserito */ int conta ; /* conta quanti numeri sono inseriti */ int sommaP ; /* somma dei numeri inseriti */ int somma2, somma3, somma4, somma5; const int MAXN = 100; int i; //indice dei cicli int j, m, n , o; int vet[MAXN]; int N ; //dimensione vettore sommaP = 0 ; somma2 = 0; somma3 = 0; somma4 = 0; somma5 = 0; do { printf("Quanti numeri saranno inseriti? ") ; scanf("%d",&N) ; /* LA DIMENSIONE MASSIMA DEL VETTORE E’ COMPRESA TRA 1 E MAXN */ if ( N > MAXN || N <=0 ) printf("Errore: il numero deve essere compreso tra %d e 0\n",MAXN) ; } while ( N > MAXN || N <=0 ) ; /* LEGGO UNA SEQUENZA DI N NUMERI INTERI, E LI MEMORIZZO IN UN VETTORE */ printf("Inserisci una sequenza di %d numeri\n", N) ; for ( i=0; i<N; i++ ) { printf("Elemento %d: ", i+1) ; scanf("%d", &vet[i]) ; } /* STAMPO IL VETTORE DI INTERI */ printf("La sequenza inserita e’ la seguente\n") ; for ( i=0; i<N; i++ ) printf("Elemento %d: %d\n", i+1, vet[i]) ; printf("\n") ; for ( i=0; i<N;i++) { sommaP = sommaP + vet[i]; printf ("La Prime somme parziali del vettore e' %d\n",sommaP); } for ( j=1; j<N;j++) { somma2 = somma2 + vet[j]; printf ("La Seconde somme parziali del vettore e' %d\n",somma2); } for ( m=2; m<N;m++) { somma3 = somma3 + vet[m]; printf ("La terze somme parziali del vettore e' %d\n",somma3); } for ( n=3; n<N;n++) { somma4 = somma4 + vet[n]; printf ("La Quarte somme parziali del vettore e' %d\n",somma4); } for ( o=4; o<N;o++) { somma5 = somma5 + vet[o]; printf ("La Quinte somme parziali del vettore e' %d\n",somma5); } system("PAUSE"); exit(0) ; }

Rispondi quotando