Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 37
  1. #21
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    Originariamente inviato da MItaly
    Ma tra l'altro, perché mi citi un messaggio di un mese e 10 giorni fa?
    non ci avevo fatto caso

  2. #22
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    Cicla su tutto l'array di estrazioni verificando quando incontri il numero.
    io potrei fare:

    for(estr=0;estr<10;estr++)
    for(ruota=0;ruota<11;ruota++)
    for(i=0;i<5;i++)
    if (x==num[estr][ruota][i])


    A questo punto non saprei come andare avanti...

  3. #23
    Se devi semplicemente dire dove si trova il numero in questione
    codice:
        printf("Il numero %d e' stato estratto nella %s estrazione sulla ruota di %s",x,ordine[estr],citta[ruota]);
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #24
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    Originariamente inviato da MItaly
    Se devi semplicemente dire dove si trova il numero in questione
    codice:
        printf("Il numero %d e' stato estratto nella %s estrazione sulla ruota di %s",x,ordine[estr],citta[ruota]);
    .
    però probabilmente il numero esce su più estrazioni e più ruote.

    Scopo finale:
    codice:
    Il numero è uscito nella prima estrazione sulle ruote di 
    BARI
    VENEZIA
    
    nella seconda estrazione sulla ruota di
    ROMA
    
    nella terza estrazione ....
    ...
    o una cosa del genere

  5. #25
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da cristianc
    però probabilmente il numero esce su più estrazioni e più ruote.

    Scopo finale:
    codice:
    Il numero è uscito nella prima estrazione sulle ruote di 
    BARI
    VENEZIA
    
    nella seconda estrazione sulla ruota di
    ROMA
    
    nella terza estrazione ....
    ...
    o una cosa del genere
    E quindi?

    Le for con la if esaminano "tutto" l'array, quindi otterrai "tutte" le occorrenze ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #26
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    Le for con la if esaminano "tutto" l'array, quindi otterrai "tutte" le occorrenze ...
    il frammento che ho postato confronta solo gli elementi dell'array con il numero

  7. #27
    È ben quello che devi fare... se vuoi ottenere il preciso risultato grafico che dici devi solo raffinarlo un po':
    codice:
    printf("%s", "Il numero è uscito ");
    for(estr=0;estr<10;estr++)
    {
        int nome_estrazione_stampato=0;
        for(ruota=0;ruota<11;ruota++)
        {
            for(i=0;i<5;i++)
            {
                if (x==num[estr][ruota][i])
                {
                    if(!nome_estrazione_stampato)
                    {
                        printf("nella %s estrazione sulle ruote di\n", ordine[estr]);
                        nome_estrazione_stampato=1;
                    }
                    printf("%s\n", citta[ruota]);
                }
            }
        }
    }
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #28
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    ti ringrazio molto per quello che hai scritto

    Lo provo e faccio sapere

  9. #29
    Prego, figurati; non garantisco comunque che funzioni, non l'ho provato.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #30
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    Ciao,
    allora ho terminato di scrivere il programma. Purtroppo la compilazione fallisce:
    codice:
    lotto.c: In function ‘main’:
    lotto.c:85: error: expected ‘;’ before ‘)’ token
    Qual'è la ragione di questo problema?

    Questo è il codice aggiornato:
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    main()
    {
     int estr,ruota,x,i;
     int num[10][11][5];
     char *ordine[] = {"prima","seconda","terza","quarta","quinta","sesta","settima","ottava","nona","decima"};
     char *citta[] = {"BARI","CAGLIARI","FIRENZE","GENOVA","MILANO","NAPOLI","PALERMO","ROMA","TORINO","VENEZIA","NAZIONALE"};
     srand(time(NULL));
     printf("\n\t\t\t* ESTRAZIONI DEL LOTTO *\n\n");
     for(estr=0;estr<10;estr++) {
         if (estr != 0) { 
             printf("Attendere l'estrazione successiva...\n\n");
             sleep(2);
         }
         printf("%s estrazione:\n\n",ordine[estr]);
         for(ruota=0;ruota<11;ruota++) {
             sleep(1);
             printf("%-25s",citta[ruota]);
             for(i=0; i<5; i++) {
                    int j;
                    num[estr][ruota][i] = rand() % 90 + 1;
                    for(j=0; j<i; j++)  
                        if (num[estr][ruota][i] == num[estr][ruota][j]) {
                            j=i;
                            i--;
                        }                        
             }                 
             for(i=0;i<5;i++) {
                 fflush(stdout);
                 sleep(1);
                 printf("%6d ",num[estr][ruota][i]);
             }
             printf("\n\n");
         }
     }
     printf("// Verifica se un numero passato in ingresso dall'utente\n// è uscito specificando su quali ruote e in quali estrazioni\n\n");
     printf("numero da cercare: ");
     scanf("%d",&x);
     char result[10][11][10],ord_fin[10][8];
     int vuoto[10],cont[10];
     int empty = 1;
     int j,k;
     int estr_old = -1;
     for(i=0;i<10;i++) {
         vuoto[i] = 1;
         cont[i] = 0;
     }
     j = 0;
     k = 0;
     for(estr=0;estr<10;estr++) {
         for(ruota=0;ruota<11;ruota++) {
             for(i=0;i<5;i++) {
                 if (x==num[estr][ruota][i]) {
                     int i = 0;
                     if (estr > estr_old) {
                         if (j) {
                             j++;
                             k = 0;
                             do {
                                 ord_fin[j][i] = ordine[estr][i];
                                 i++;
                             } while(ordine[estr][i] != '\0');
                         }
                         else do {
                                   ord_fin[j][i] = ordine[estr][i]; 
                                   i++;
                              } while(ordine[estr][i] != '\0');
                     }
                     i = 0;
                     do {
                         result[j][k][i] = citta[ruota][i];
                         i++;
                     } while(citta[ruota][i] != '\0');
                     vuoto[estr] = 0;
                     cont[j]++;
                     k++;                    
                     estr_old = estr;
                 }
             }
         }
     }
     for(i=0;i<10,i++) {
         if(vuoto[i] == 0) {
            empty = 0;
            i = 9;
         }
         i++;
     }
     if (vuoto == 0)
         printf("Il numero %d non è uscito in alcuna estrazione\n",x);
     else {
           printf("Il numero %d è uscito:\n",x);
           for(j=0;j<10;j++)
               if (cont[j]) {
                   printf("nella %s estrazione sull%c ruot%c di ",ord_fin[j],(cont[j]==1) ? 'a' : 'e',(cont[j]==1) ? 'a' : 'e');
                   for(k=0;k<cont[j];k++)
                       printf("%s ",result[j][k]);
                   printf("\n");
               }
     }
     printf("\n");
    }

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