#pragma hdrstop #include stdio.h> #include stdlib.h> #pragma

Anuncio
#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();
Descargar