buenos dias.
Serian tan amables de indicarme que error estoy cometiendo en el siguiente programa.
La idea es insertar un nuevo elemento en un arreglo de enteros pero sin eliminar ni pisar nada. Es decir, si el arreglo cuenta con 5 elementos, se debe ingresar uno nuevo, de acuerdo a la posicion ingresada por teclado y correr el resto para no perder nada.
El error que me da es que se pisa el contenido del elemento 3 y el 6 me arroja basura.
Desde ya muchas gracias.
Código
#include <stdio.h> #include <stdlib.h> #define TAM 20 int ingresarVector (int vec[TAM]); void insertarElemento (int vec[TAM], int cant); void mostrarVector (int vec[TAM], int cant); int main () { int vec[TAM], cant; cant = ingresarVector (vec); insertarElemento (vec, cant); mostrarVector (vec, cant); return 0; } int ingresarVector (int vec[TAM]) { int i, cant; for (i=0; i<cant; i++) { } return cant; } void insertarElemento (int vec[TAM], int cant) { int i, pos, ele; cant++; for (i=cant-1; i<pos; i--) vec[i] = vec[i-1]; vec[pos-1] = ele; } void mostrarVector (int vec[TAM], int cant) { int i; cant++; for (i=0; i<cant; i++) }