Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/05/2010, 11:04
Avatar de donyoyo
donyoyo
 
Fecha de Ingreso: mayo-2010
Ubicación: Chile
Mensajes: 31
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con programa en C

estimado, aca un propuesto de codigo:

#include <stdlib.h>

struct complejo
{
double real;
double imag;
};

struct complejo *x;

int cantidad;


void llenavalores(struct complejo *x, int n)
{
int k;

for(k=0;k<n;k++)
{
x[k].real=(double)(rand()%100)/(double)100;
x[k].imag=(double)(rand()%100)/(double)100;
}
}

void ver(struct complejo *x, int n)
{
int k;

for(k=0;k<n;k++)
printf("x[%i]=(%.2lf, %.2lf)\n", k+1, x[k].real, x[k].imag);
}

int main(int argc, char **argv)
{
if (argc > 1)
{
cantidad=atoi(argv[1]);
printf("Se creara un vector de %d posiciones\n",cantidad);
}
else
{
cantidad=10;
printf("No se definio Cantidad, se creara un vector de 10 posiciones\n");
}

srand(atol(argv[2]));

printf("Asignando memoria para %d bytes\n",cantidad*sizeof(struct complejo));

x=(struct complejo*)realloc(x,sizeof(struct complejo)*cantidad);

printf("Llenando %ld vectores\n",cantidad);
llenavalores(x, cantidad);

printf("Mostrando %ld vectores\n",cantidad);
ver(x,cantidad);
}

la idea es ejecutarlo asi:

complejos 20
eso te creara dinamicamente un arreglo de 20 posiciones, y utilizara rand para rellenar

si ejecutas:

complejos 20 30
el treinta es para iniciar semilla al rand y no repetir siempre los mismo pseudo numeros

Última edición por donyoyo; 31/05/2010 a las 11:09