Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2015
    Messaggi
    3

    [C] Generazione di numeri casuali

    Buonasera a tutti! =D

    Vorrei scrivere un algoritmo per generare lettere casuali. Ho così pensato di generare numeri naturali e "convertirli" in lettere. Sono così giunto a due algoritmi

    Algoritmo 1:
    codice:
    int main() {
        int i,j;
        for ( i = 0; i< MAX; i++ ) {
            srand(time(NULL));
            j = rand() % 27;
            if (j==0) {
                printf(" ");
            }
            if (j==1) {
                printf("A");
            }
            if (j==2) {
                printf("B");
            }
            if (j==3) {
                printf("C");
            }
            if (j==4) {
                printf("D");
            }
            if (j==5) {
                printf("E");
            }
            if (j==6) {
                printf("F");
            }
            if (j==7) {
                printf("G");
            }
            if (j==8) {
                printf("H");
            }
            if (j==9) {
                printf("I");
            }
            if (j==10) {
                printf("J");
            }
            if (j==11) {
                printf("K");
            }
            if (j==12) {
                printf("L");
            }
            if (j==13) {
                printf("M");
            }
            if (j==14) {
                printf("N");
            }
            if (j==15) {
                printf("O");
            }
            if (j==16) {
                printf("P");
            }
            if (j==17) {
                printf("Q");
            }
            if (j==18) {
                printf("R");
            }
            if (j==19) {
                printf("S");
            }
            if (j==20) {
                printf("T");
            }
            if (j==21) {
                printf("U");
            }
            if (j==22) {
                printf("V");
            }
            if (j==23) {
                printf("W");
            }
            if (j==24) {
                printf("X");
            }
            if (j==25) {
                printf("Y");
            }
            if (j==26) {
                printf("Z");
            }
        }
    }
    Algoritmo 2:
    codice:
     
    int main(){
        int i;
        for ( i = 0; i< MAX; i++ ){
            printf("%c",((char)((rand()%26)))+'A');
        }
    }
    Il problema del secondo è che non mi da gli spazi per questo ho tentato il primo ma non funziona, mi da tutto su di una riga e ripete moltissime volte una lettera. Come posso risolvere?? Forse ho usato male le funzione di randomizzazione?
    Grazie a tutti in anticipo =D

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Modifica il secondo codice scegliendo tra 27 simboli in una variabile. Se è il 27 visualizza uno spazio.

    Inoltre devi inizializzare il generatore con

    srand(time(NULL));

    fuori dal ciclo, una sola volta
    Ultima modifica di oregon; 17-11-2015 a 23:59
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.