Ordenando números aleatórios em contentores-C [fechados]

estou a tentar escrever algum código que ordene um número aleatório gerado, entre 0 e 1, e o ordene para um 'bin', que é um array. A janela então imprime o número de números aleatórios em cada caixa. Espero que isto faça algum sentido, mas estou mesmo a lutar. Sou um principiante, e estou completamente preso, e preciso de Ajuda em como fazer o código funcionar e para onde ir a seguir. Eis o que tenho até agora.

#include <stdio.h>
#include <stdlib.h>

int main()
        {
        double x,y;
        int i;
        int data[i];
        unsigned int time_ui;
        time_ui = (unsigned int)( time(NULL) );
        srand(time_ui);
        x = rand()/ (double)RAND_MAX;
            data[i]=0;
        for (i=0; i<10; i++)
        {
            (x*10)=y;
            if ((int)y == i)
            {
            data[i]+=1;
            }
        printf("Bin %d contains %d random numbers\n", i, data[i]);
        }

    return 0;
    }
Author: alexheslop1, 2014-07-09

1 answers

Acho que percebi o que estavas a tentar fazer, eis o que eu podia trazer.
#include <stdio.h>
#include <stdlib.h>



int main()
{
    double x,y;
    int i;
    int data[10];  // you will generate 10 bins
    unsigned int time_ui;
    time_ui = (unsigned int)( time(NULL) );
    srand(time_ui);


    for (i =0; i<10; i++) // initialize each bin
    {
        data[i] = 0;
    }

    for (i=0; i<100; i++)  // generate and examine 100 random you can do it for more
    {
        x = rand()/(double)RAND_MAX; // generate random number
        y = 10 *x;                   // predict in which bin it will be
        data[(int)y]++;              // increase that bin by 1
    }



    for (i =0; i<10; i++) // once done, let's print it out
    {
        printf("Bin %d contains %d random numbers\n", i, data[i]);
    }

    return 0;

}

Editar

Não é muito importante, só por Diversão pode imprimir resultados como este:

for (i =0; i<10; i++) // once done, let's print it out
    {
        printf("\t");
        for(j = 0; j<data[i]; j++)
        {
            printf("_ ");
        }
        printf("\nBin %d\t", i);
        for(j = 0; j<data[i]; j++)
        {
            printf("_|");
        }
        printf("%d\n", data[i]);

    }
Não te esqueças de definir int j;
 1
Author: chouaib, 2014-07-09 02:10:09