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) ;
}