El problema es el siguiente, realizar 3 vectores, vector 1 y 2 son para ingreso de numeros, el 3ero es para intercalan los numeros de los dos primeros.
este es el codigo:
#include<stdio.h>
#include<conio.h>
#include<alloc.h>
void vectores();
void vectores(){
int *vector1,*vector2,*vector3;
int pos=0,i=0,n=0,h=0;
clrscr();
vector1=(int*)calloc(1,sizeof(float));
if(vector1==NULL){
printf("\nNo hay memoria");
getch();
}else{
do{
printf("\n\tIngrese elemento del vector (0 para salir)");
scanf("%i",&n);
flushall();
if(n!=0){
vector1[pos]=n;
pos++;
vector1=(int*)realloc(vector1,sizeof(int));
if(vector1==NULL){
printf("\n\tNo hay memoria para proximo numero");
getch();
break;
}
}
}while(n!=0);
}
clrscr();
vector2=(int*)calloc(pos,sizeof(int));
for(i=0;i<=pos-1;i++){
printf("\n\tIngrese elemento 2do vector\t");
scanf("%i",&vector2[i]);
flushall();
}
vector3=(int*)calloc(pos*2,sizeof(int));
for(i=0;i<=pos-1;i++){
vector3[h]=vector1[i];
h=h+2;
}
h=1;
for(i=0;i<=pos-1;i++){
vector3[h]=vector2[i];
h=h+2;
}
pos=(pos-1)*2;
clrscr();
printf("\n\tvector 3:");
for(i=0;i<=pos;i++)
printf(" %i ",vector3[i]);
free(vector1);
free(vector2);
free(vector3);
}
void main(){
clrscr();
vectores();
getch();
}
El error se da cuando al mostrar el 3er vector, los primeros numeros diria que se intercalan bien, pero ya los ultimos parareces cualquier numero.
gracias