Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Discussione: [c++] buble sort

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027

    [c++] buble sort

    buongiorno,
    dopo i consigli segutii su questo forum mi sono guardato il buble sort e ho creato un piccolo codice di ordinamento
    quest'ultimo mi da degli errori il devc++ e mi dice che c'è un'errore di questo tipo:
    conversione invalida da char a char

    mi evidenzia questa riga:
    temp=tot_stud[y-1].cognome;

    il codice comunque è questo

    codice:
        case 2:
             for(x=(n_stud-1);x>=0;x--)
             {
                                       for(y=1;y<=x;y++)
                                       {
                                                        if(tot_stud[y-1].cognome>tot_stud[y].cognome)
                                                        {
                                                                                             temp=tot_stud[y-1].cognome;
                                                                                             tot_stud[y-1].cognome=tot_stud[y].cognome;
                                                                                             tot_stud[y].cognome=temp;
                                                        }
                                       }
             }
             for(int i=0;i<n_stud;i++)
             {
                     cout<<tot_stud[i].cognome<<"\n";
             }        
             break;
    l'inizializzazione delle variabili è la seguente:

    codice:
        int n_stud,scelta,x,y;
        char temp;
        struct studente
        {
               char nome[25],cognome[25],corso[11];
               int voto,lode,anni_iscr;
        };

    tutto il codice è inserito nell'int main()

    mi sapreste aiutare a correggerlo??

  2. #2
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679

    Re: [c++] buble sort

    Originariamente inviato da passasooz
    buongiorno,
    ...
    codice:
        int n_stud,scelta,x,y;
        char temp;
        struct studente
        {
               char nome[25],cognome[25],corso[11];
               int voto,lode,anni_iscr;
        };
    Controlla le parti in neretto

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    eh non capisco cosa ci sia di così strano... uno è un vettore di caratteri e l'altro è una variabile di caratteri...

  4. #4
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da passasooz
    eh non capisco cosa ci sia di così strano... uno è un vettore di caratteri e l'altro è una variabile di un caratterE...
    PS a rigore questo è C, non C++, ma non formalizziamoci

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    quindi temp dovrebbe essere anche lui vettore di caratteri?

  6. #6
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da passasooz
    quindi temp dovrebbe essere anche lui vettore di caratteri?
    Ritengo di sì.
    Però, ovviamente, non puoi usare una istruzione come "=" per copiare una stringa (o vettore di caratteri).
    Come potresti procedere?

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    quindi temp lo faccio come vettore di caratteri così temp[25] e per scriverci dentro devo fare un for in più?

  8. #8
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da passasooz
    quindi temp lo faccio come vettore di caratteri così temp[25] e per scriverci dentro devo fare un for in più?
    dipende, se sono consentiti utilizzi di funzioni di libreria, tipo sprintf, oppure no.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    io invece di printf uso cin e quindi come libreria uso iostream e poi anche cstring... quindi?

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    io ho fatto così adesso ho fatto un for in più per compilare il vettore temp[] ma mi da ancora lo stesso errore di prima

    codice:
        case 2:
             for(x=(n_stud-1);x>=0;x--)
             {
                                       for(y=1;y<=x;y++)
                                       {
                                                        if(tot_stud[y-1].cognome>tot_stud[y].cognome)
                                                        {
                                                        for(int i=0;i<n_stud;i++)
                                                        {
                                                                                             temp[i]=tot_stud[y-1].cognome;
                                                                                             tot_stud[y-1].cognome=tot_stud[y].cognome;
                                                                                             tot_stud[y].cognome=temp[i];
                                                        }
                                                        }
                                       }
             }
             for(int i=0;i<n_stud;i++)
             {
                     cout<<tot_stud[i].cognome<<"\n";
             }        
             break;

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.