Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    problema funzione rand()

    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
    codice:
    #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

  2. #2
    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?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3

    Moderazione

    Tra parentesi, ho inserito il codice tra tag [code] ... [/code] 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.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    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.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.