// // main.c // T3_Ej10 // // Created by Mari Paz Guerrero Lebrero on 22/1/15. // Copyright (c) 2015 Mari Paz Guerrero Lebrero. All rights reserved. // #include #include int* InicializaVector(int *l); int CopiaVector(int *v1, int *v2, int l1, int l2); int main() { int *v1, *v2, l1 = 1, l2 = 1, i; printf("Introduzca los elementos del primer vector separados por espacio, para terminar pulse la tecla intro\n"); v1 = InicializaVector(&l1); printf("Introduzca los elementos del segundo vector separados por espacio, para terminar pulse la tecla intro\n"); v2 = InicializaVector(&l2); if(CopiaVector(v1, v2, l1, l2) == 1) { printf("Copia correcta. El contenido del segundo vector es: "); for(i = 0; i < l2; i++) printf("%d ", v2[i]); printf("\n"); } else printf("ERROR: No se puede hacer la copia.\n"); return 0; } int* InicializaVector(int *l) { int *v, i = 0, j = 0; char c, *aux; v = (int*)malloc(sizeof(int)); aux = (char*)malloc(sizeof(char)); while((c = getchar()) != '\n') { if(c != ' ' && c != '\n') { aux[i] = c; i++; aux = (char*)realloc(aux, (i+1)*sizeof(char)); } else { aux[i] = '\0'; i = 0; v[j] = atoi(aux); (*l)++; j++; v = (int*)realloc(v, (j+1)*sizeof(int)); } } aux[i] = '\0'; v[j] = atoi(aux); return v; } int CopiaVector(int *v1, int *v2, int l1, int l2) { int copia_ok = 0, i; if(l1 == l2) { for(i = 0; i < l1; i++) { v2[i] = v1[i]; } copia_ok = 1; } return copia_ok; }