Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente bannato
    Registrato dal
    Mar 2014
    Messaggi
    5

    Aiuto! Codice per sorteggiare 40 numeri da 10 a 20 e ordinarli dal piu uscito al meno uscito

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    
    int main()
    {
    int c[10], d[40], h, x, b, z, g, a, p, i, j;
        srand((unsigned) time(NULL));
        for(h=0; h<10; h++){c[h]=0;}
        for(x=0; x<40; x++)
    {
        d[x]=rand()%10+10;
        printf("%i\n", d[x]);
        g=d[x]-10;
        c[g]++;
    };
     for(i=0; i<10; i++)
         {for(j=0; j<9; j++)
    
    
    {
        if(c[i]>c[j])
        { p=c[i];
        c[i]=c[j];
        c[j]=p;}
    }
        }
    for(z=0; z<10; z++)
     {b=z+10;
           printf("%i", b);
        for(a=0; a<c[z]; a++)
           {printf("*");}
        printf(" \n");
    }
       system("pause");
       return 0;
    }
    Dove sta l'errore????

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Dove sta l'errore? Ma è un premio a quiz ?

    Perché non ci dici tu che problema hai e in quale fase o linea lo incontri?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Quote Originariamente inviata da schiaro98 Visualizza il messaggio
    Dove sta l'errore????
    Beh... se prima tu non dici quale errore ottieni, se lo ottieni in compilazione o esecuzione, se ottieni risultati sbagliati e nel caso quali risultati ottieni... che pretendi?

    Non si può obbligare gli utenti a copiare il tuo codice, incollarlo in un loro progetto, compilarlo ed eseguirlo per cercare di scoprire se vi sono errori, dove sono, quali sono, ecc. Tutte queste cose le devi fare tu e sei sempre tu che devi dare TUTTE le informazioni necessarie affinchè gli utenti possano cercare di capire da dove nasca l'errore.

    Non hai nemmeno detto se stai sviluppando per Windows/Linux/Mac, né quale compilatore usi...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Ma poi... tutte le variabili h, x, b, z, g, a, p... Cosa vogliono dire? Qual è la loro semantica?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente bannato
    Registrato dal
    Mar 2014
    Messaggi
    5
    Allora intanto compilo in C su windows con codeblocks, non mi da errori ma eseguendo il programma i numeri non sono in ordine, ho capito che devo eseguire una matrice ma non so come fare a inizializzarla. Nello specifico mi da i 10 numeri come dovrebbero essere ma non li allinea con le stelline.(compilo con GNU GCC compiler)

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    "Eseguire un matrice" cosa vuol dire?

    Comunque, il problema è che l'indice del vettore lo usi per indicare il numero e il valore lo usi per le occorrenze

    indice 1 -> valore 3 vuol dire che l' 11 appare 3 volte

    Ma se ordini il vettore, gli indici rimangono fissi e i valori cambiano e così salta l'associazione tra indice e valore.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente bannato
    Registrato dal
    Mar 2014
    Messaggi
    5
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    
    int main()
    {
        int c[2][10], d[40], h, x, z, g, a, p, i, j, l, e;
        srand((unsigned) time(NULL));
        for(h=0; h<10; h++){c[1][h]=0;}
         for(x=0; x<40; x++)
            {
                d[x]=rand()%10+10;
                printf("%i\n", d[x]);
                g=d[x]-10;
                c[1][g]++;
            };
            for(e=0; e<10; e++)
                    {l=e+10;
                    c[0][e]=l;}
        for(i=0; i<10; i++)
                    {
                        for(j=0; j<9; j++)
                        {
                            if(c[1][i]>c[1][j])
                            {   p=c[1][i];
                                c[1][i]=c[1][j];
                                c[1][j]=p;
                                e=c[0][i];
                                c[0][i]=c[0][j];
                                c[0][j]=e;
                            }
                        }
                    }
    
    
            for(z=0; z<10; z++)
                {   printf("%i ", c[0][z]);
    
    
                    for(a=0; a<c[1][z]; a++)
                        {printf("*");}
                    printf(" \n");
                }
            system("pause");
        return 0;
    }
    Ultima modifica di LeleFT; 18-03-2014 a 14:27 Motivo: Aggiunti i tag CODE

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E questo codice cosa vuol dire? Hai risolto? Non hai risolto?

    Scrivere qualche riga di chiarimento era troppo?
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.