Salve , ho un problema con un semplice programma in C che somma gli elementi
inversi di due array . Il codice seguente in cui le dimensioni degli array e' gia determinata funziona senza problemi:
Nel momento in cui aggiungo due linee di codice per inputare le dimensioni
degli array di volta in volta, inizia a sbagliare le somme degli ultimi elementi a caso
e non riesco a capire il motivo ; la modifica e' la seguente:
Grazie in anticipo per le risposte.
Max
inversi di due array . Il codice seguente in cui le dimensioni degli array e' gia determinata funziona senza problemi:
C:
include <stdio.h>
int main(void)
{
int n = 10;
int a[n], b[n], c[n];
int i;
char pausa;
printf("\nVettore a\n");
for(i=0; i<n; i++)
{
printf("Elemento %d del primo vettore: ", i+1);
scanf("%d", &a);
}
printf("\nVettore b\n");
for(i=0; i<n; i++)
{
printf("Elemento %d del secondo vettore: ", i+1);
scanf("%d", &b);
}
/* Somma incrociata a+b */
for(i=0; i<n; i++)
c = a + b[n-i-1];
printf("\nSomma incrociata a+b\n");
for(i=0; i<n; i++)
printf("Elemento %d della somma incrociata: %d\n", i+1, c);
scanf("%c", &pausa);
scanf("%c", &pausa
}
Nel momento in cui aggiungo due linee di codice per inputare le dimensioni
degli array di volta in volta, inizia a sbagliare le somme degli ultimi elementi a caso
e non riesco a capire il motivo ; la modifica e' la seguente:
C:
include <stdio.h>
int main(void)
{
int n;
int a[n],b[n],c[n];
int i;
char pausa;
printf(" \nDimensione Array: \n\n");
scanf("%d",&n);
printf("\nVettore a\n");
for(i=0; i<n; i++)
{
printf("Elemento %d del primo vettore: ", i+1);
scanf("%d", &a);
}
printf("\nVettore b\n");
for(i=0; i<n; i++)
{
printf("Elemento %d del secondo vettore: ", i+1);
scanf("%d", &b);
}
/* Somma incrociata a+b */
for(i=0; i<n; i++)
c = a + b[n-i-1];
printf("\nSomma incrociata a+b\n");
for(i=0; i<n; i++)
printf("Elemento %d della somma incrociata: %d\n", i+1, c);
scanf("%c", &pausa);
scanf("%c", &pausa);
}
Grazie in anticipo per le risposte.
Max
Ultima modifica di un moderatore: