PDA

Visualizza la versione completa : [C] problema funzione rand()


lucabe90
24-08-2012, 21:14
ciao a tutti
devo riempire un vettore di numeri generati in maniera casuale. cercando su internet ho trovato che la funzione rand() genera numeri casuali perņ non so il perchč a me non funziona.
per la compilazione del programma utilizzo atollic perchč successivamente il codice devo metterlo su una scheda stm32w.
il codice che ho scritto č il seguente


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

int prov[10];

int main(void)
{
int i;
for(i=0;i<10;i++)
{

prov[i]=rand();
}
while(1);
}

la compilazione del programma non mi da errori. quando perņ vado a fare il debug della funzione mi va in una procedura Default_Handler. leggendo un po in diversi forum mi č sembrato di capire che il problema č dovuto al fatto che il compilatore non fa il link della libreria. puņ essere vero?se si come posso risolvere il problema? qualcuno conosce conosce una libreria che passa fare le stesse cose della rand()( i numeri generati devono avere una distribuzione uniforme o gaussiana(normale))
grazie

MItaly
24-08-2012, 23:34
La rand non č che un LCG (generatore lineare congruenziale), che si implementa in poche righe di codice; non mi č chiaro perņ cosa intendi con

quando perņ vado a fare il debug della funzione mi va in una procedura Default_Handler
Con cosa fai il debug? Dove ti viene fuori questa "Default_Handler"? Alla fine il codice produce i risultati richiesti o fa altro?

MItaly
24-08-2012, 23:36
Tra parentesi, ho inserito il codice tra tag
... in modo che non perda l'indentazione, e ho aggiunto il tag [C] al titolo della discussione, come da regolamento. In futuro ricordatene tu al momento di aprire la discussione. :ciauz:

lucabe90
02-09-2012, 13:09
per fare il codice utilizzo un programma chiamato atollic che mi permette di fare il debug del codice.quando il programma esegue la funzione rand mi finisce in questo default e il programma cicla in questo default senza proseguire nell'esecuzione del codice.

Loading