#pragma hdrstop #include <stdio.h> #include <stdlib.h> #pragma argsused /* Este procedimiento cambia el tamaño de un vector de n términos a n1 */ void cambiartam(int ** a, int n, int n1 ) {//se utilizan variables de doble puntero para //poder pasar el vector por referencia int * b, i; b = (int *)malloc( n1 * sizeof(int) ); for( i = 0; i < n1; i++ ) { b[i]=0; } if( n1 < n ) { n = n1; } for(i = 0; i < n; i++) { b[i]=(*a)[i]; } free((*a)); *a = b; } main() { int n, i, j, *a; printf("Ingrese cantidad de Terminos "); scanf("%d", &n); getchar(); //alocar memoria para el vector a = (int *) malloc( sizeof(int)*n ); //ingreso de datos for( i = 0; i < n; i++ ) { a[i]= random(1000); printf( "%d\t", a[i] ); } j = n/2; cambiartam( &a, n, 2*n ); printf("\n\n"); for( i = 0; i < j; i++ ) { printf( "%d\t", a[i] ); } } free( a ); getchar();