necesito ayuda para la suma de 2 vectores!! [C/C++]

hola amigos pues apenas estoy empezando en C y C++ y tengo un problema con la suma de los vectores.
me pueden decir ke hago mal??

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main(int argc, char *argv[])
{
int i,a;
float fer1[10],fer2[10],fer3[10];

i=0;
for(i=1;i<=10;i++)
{
printf("introduce el valor %d vector 1 \n",i);
scanf("%f",&fer1[a]);

}
system("cls");

for(i=1;i<=10;i++){
printf("introduce el valor %d vector 2 \n",i);
scanf("%f",&fer2[a]);}

system("cls");

fer3[a]=fer1[a]+fer2[a];

for(i=1;i<=10;i++){

printf("%f\n",fer3[a]);}




getch();
system("PAUSE");
return 0;
}
- No inicializas 'a' pero lo usas, mira qué valor tiene en cada uso
- En los for con los que rellenas cada vector usas 'a' sin sentido, ya que aunque estuviera inicializado su valor no cambia, estarías sobreescribiendo la entrada de datos en la misma posición del vector.
- La suma de vectores no se hace como supongo que crees que haces, tienes que recorrer los vectores del mismo modo que hacías para rellenarlo.

Te aconsejo que uses nombres de variables con cierto sentido, este programa es muy sencillo pero en programas más complejos revisarlos después puede ser horrible. También te aconsejo que no uses las funciones de conio, no forman parte de la librería estándar de C, ISO C ni POSIX, ni es multiplataforma. Lo mismo con system("PAUSE").
cambia todas las a por i, que es la que estas usando en los for
Dentro del bucle for, si estas usando la i como iterador, deberias capturar los valores usando ese iterador (no a).

" fer3[a]=fer1[a]+fer2[a] " a no esta inicializado, no sabe que posicion quieres sumar. Además si quisieras sumar todas las componentes en un nuevo vector deberias hacer la suma en un bucle.

Algo asi en c++:

int a[10],b[10],c[10];
for (int i=0; i<10;i++) cin >> a[i];
for (int i=0; i<10;i++) cin >> b[i];
for (int i=0; i<10;i++){ c[i] = a[i]+b[i]; cout << c[i];}
3 respuestas