struct lib
{
int numero;
};
void ordenar(struct lib *arreglo);
void imprimir(struct lib *li);
int main()
{
int i,menor, bandera=1;//0=ordenado
struct lib libro[20];
clrscr(); //limpiar
srand(time(0));//iniciar semilla aleatoria
/*srand(time(0)); nos asegura que siempre genere numeros
aleatorios diferentes, ya que de lo contrario siempre
generaria los mismos*/
for(i=0;i<20;i++)
{//se llena
libro[i].numero = rand()%1001;
}
ordenar(libro);
imprimir(libro);
return 1;
}
//ordenamiento simple...
void ordenar(struct lib *arreglo)
{
int i;
int bandera = 1;//se parte de que esta ordenado
struct lib aux;
while(bandera)
{
i=0;
bandera = 0;//se parte de desordenado
while(i<20)
{
if(arreglo[i].numero > arreglo[i+1].numero )
{
aux = arreglo[i];
arreglo[i] = arreglo[i+1];
arreglo[1+i] = aux;
bandera=1; //si entra es que no esta ordenado
}
i++;
}
}
}
//imrpime libros
void imprimir(struct lib *li)
{
int i=0;
printf("n aL I S T A D E L I B R O Sa nn");
for(i=0;i<20;i++)
{
printf("Libro Nro%d: %dn",i,li[i].numero);
}
}