Ese programa tiene problemas.
No puedes hacer esto: [m]. A menos que m sea una constante.
Lo de
Cita: printf("Ingrese el Tamaño de los Vectores a Sumar: \n");
scanf("%d",&m);
... olvídalo =(
Para poder hacer eso [m] seria asi:
const int m = 10;
int vec1[m];
Entonces si.
Para hacer una tabla que le elijas el tamaño, eso debes usar memoria dinámica pero en c no se usar las malloc y familia, no tengo ganas de liarme con eso XD.
búsquese tablas dinámicas en c y te va salir montones de formas de hacer eso pero te advierto que casi todas son trabajando con el heap XD.
Mira encontre una buena pajinita que te explica mas o menos como se hace en c :D(Es lo minimo que te puedo hacer ^^)
http://www.linuxhispano.net/2011/08/...n-vector-en-c/
Código C++:
Ver original#include <stdio.h>
#include <stdlib.h>
int main () {
//======================================================================
int numeroElementos;
int * vector;// una tabla es un puntero que apunta al primer objeto de una cadena, este sera nuestro puntero
//======================================================================
printf ( "¿Cuántos elementos quieres? " ); scanf ( "%d", &numeroElementos
); //Ahora si pedimos el tamaño que va tener eso en el heap
//======================================================================
//malloc reserva la cantidad de numeroElementos multiplicado por el tamaño de un int si por
//ejemplo en nuestro ordenador un int tiene 4 bytes sera el numero que ingresemos multiplicado por 4.
//Si vamos gradar float el calculo sera numeroElementos * sizeof ( float ) y asi para todos los tipos ;)
vector
= ( int * ) malloc ( numeroElementos
* sizeof ( int ) );
//======================================================================
// Eso es muy importante ya que comprueba que se aya creado nuestra tabla, caso no se hubiera creado
//no iba a saber y entonces el programa se cerraria de forma inesperada cuando le asignamos una variable,
//como la memoria dinámica no se libera sola..
//quedaría llena con cosas que allí habíamos puesto anteriormente, si una sola variable falla al crearla
//deberías mostrar un mensaje de error y borrar todo lo anterior o bien puedes volver a intentar crear la tabla pero si no logras,
//estas obligado a liberas lo que antes habias creado antes de cerrar el programa ;)
//¡Recuerdalo! Jamas usar una tabla que no se cree correctamente o el programa se crashea ok;)
if ( vector == NULL ) {
perror ( "Problemas reservando memoria" ); }
//======================================================================
// trabajamos con el vector
//Una vez creado y comprobado lo usas de manera normal como una tabla normal solo que a esa si le ibas a poder decir el
//tamaño que tiene antes de crearla.
//======================================================================
// lo liberamos
//Como dije antes la memoria dinámica no se libera sola, debes liberarla antes, lo que no se es
//si tendrías que liberar antes a cada posición de la tabla[0],tabla[1]tabla[2]... como dije desconozco malloc y familia XD
return 0;
}
Si no sabes trabajar con el heap mejor primero te lías con el antes de hacer tablas dinámicas, eso necesitas conocimientos sobre punteros, y memoria dinámica