31/05/2010, 11:04
|
| | | Fecha de Ingreso: mayo-2010 Ubicación: Chile
Mensajes: 31
Antigüedad: 14 años, 7 meses 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 |