Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21
  1. #11
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    47
    Originariamente inviato da oregon
    Per il codice usa i tag CODE, come da regolamento, altrimenti non si capisce molto.

    In ogni caso, nella classe ContenitoreItinerari non esiste un membro Confronta ...
    hai ragione, ma prima utilizzando code me l'ha giustificato malissimo il testo...gentilmente sapresti risolverlo?

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Ti ho detto ... Confronta è nel mezzo del main ... non si scrive un metodo in mezzo ad un'altra funzione ...

    Stiamo parlando delle basi del linguaggio ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #13

    Moderazione

    Originariamente inviato da cipiupiu
    hai ragione, ma prima utilizzando code me l'ha giustificato malissimo il testo...
    Il tag CODE lascia il codice esattamente come l'hai inserito, se è indentato male è solo colpa tua...
    Inoltre, sarebbe bene usare titolo un po' più significativi.

    In ogni caso, ho aggiunto il CODE a tutti i tuoi blocchi di codice e sistemato il titolo della discussione, in futuro imposta tutto correttamente fin da subito.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #14
    Comunque:
    codice:
    bool ContenitoreItinerari :: Confronta (Itinerario itinerario1, Itinerario itinerario2);
        {
    l'errore è il punto e virgola alla fine della prima riga; il punto e virgola in quella posizione indica che stai dichiarando (e non definendo) una funzione; questo non va bene perché:
    - hai già dichiarato il metodo in questione all'interno della classe;
    - dopo le dichiarazioni non segue il corpo della funzione.

    La soluzione è rimuovere il punto e virgola in questione.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #15
    Per inciso, <iostream.h> e <vector.h> non esistono (se ci sono sono lì solo per compatibilità con compilatori C++ arcaici), gli header standard sono <iostream> e <vector>
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #16
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    47
    Originariamente inviato da MItaly
    Comunque:
    codice:
    bool ContenitoreItinerari :: Confronta (Itinerario itinerario1, Itinerario itinerario2);
        {
    l'errore è il punto e virgola alla fine della prima riga; il punto e virgola in quella posizione indica che stai dichiarando (e non definendo) una funzione; questo non va bene perché:
    - hai già dichiarato il metodo in questione all'interno della classe;
    - dopo le dichiarazioni non segue il corpo della funzione.

    La soluzione è rimuovere il punto e virgola in questione.

    Ti ringrazio per la pazienza nel sistemare i code e per la dritta sugli header che ho corretto, ma il punto e virgola non risolve l'errore, purtroppo rimane lo stesso...

  7. #17
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Ma hai visto quello che ti ho detto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #18
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    47
    Originariamente inviato da oregon
    Ti ho detto ... Confronta è nel mezzo del main ... non si scrive un metodo in mezzo ad un'altra funzione ...

    Stiamo parlando delle basi del linguaggio ...
    fatto ma niente, lo stesso errore identico...

  9. #19
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da cipiupiu
    fatto ma niente, lo stesso errore identico...
    Ma fatto ... cosa ?

    Mostra il codice adesso che lo hai modificato, altrimenti che facciamo ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #20
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    47
    Originariamente inviato da oregon
    Ma fatto ... cosa ?

    Mostra il codice adesso che lo hai modificato, altrimenti che facciamo ?
    codice:
    #include <iostream>
    #include "Luoghi.h"
    #include <string>
    #include <vector>
    
    using namespace std;
    
    
    
    class Itinerario
    {
    public:
        string nome;
        vector<Luogo> luoghi;
        
        Itinerario(string nome)
        {
            this->nome = nome;
        }
        
        void Add(double latitudine, double longitudine)
        {
            luoghi.push_back(Luogo(latitudine, longitudine));
        }
    };
    
    
    
    
    class ContenitoreItinerari
    {
    public:
        vector<Itinerario> itinerari;
    };
    
    
    
    class TestItinerario
    {
    public:
        int TestItinerario1();
        int TestItinerario2();
        int TestItinerario3();
        int TestItinerario4();
        
        void Esegui ()
        {
            cout << "Inizio Test" << endl;
            
            TestItinerario1();
            TestItinerario2();
            TestItinerario3();
            
            cout << "Fine test" << endl;
        };
        
    };
    
    
    
    bool ContenitoreItinerari :: Confronta ( Itinerario itinerario1, Itinerario itinerario2)
    {
        for (vector<Luogo>::iterator it1 = itinerario1.luoghi.begin();
             it1 != itinerario1.luoghi.end(); ++it1)
        {
            Luogo luogo1 = *it1;
            for (vector<Luogo>::iterator it2 = itinerario2.luoghi.begin();
                 it2 != itinerario2.luoghi.end(); ++it2)
            {
                Luogo luogo2 = *it2;
                if ((luogo1.latitudine == luogo2.latitudine) &&
                    (luogo1.longitudine == luogo2.longitudine))
                    return true;
            }
        }
        
        return false;
    } 
    
    
    
    
    int main()
    {
        
        Itinerario itinerario1("Primo percorso");
        itinerario1.Add(100, 200);
        itinerario1.Add(230, 500);
        itinerario1.Add(20, 300);;
        
        Itinerario itinerario2("Secondo percorso");
        itinerario2.Add(100, 200);
        itinerario2.Add(230, 500);
        itinerario2.Add(20, 300);
        
        Itinerario itinerario3("Terzo percorso");
        itinerario3.Add(100, 200);
        itinerario3.Add(230, 500);
        itinerario3.Add(20, 300);
        
        Itinerario itinerario4("Quarto percorso");
        itinerario4.Add(100, 200);
        itinerario4.Add(230, 500);
        itinerario4.Add(20, 300);
    
        
        
       
            
        ContenitoreItinerari contenitore;
        contenitore.itinerari.push_back(itinerario1);
        contenitore.itinerari.push_back(itinerario2);
        contenitore.itinerari.push_back(itinerario3);
        contenitore.itinerari.push_back(itinerario4);
           
        
        
        cout << "Percorsi differenti:" << endl;
        vector<Itinerario> differenti;
        for (vector<Itinerario>::iterator it1 = contenitore.itinerari.begin(); it1 != contenitore.itinerari.end(); ++it1)
        {
            for (vector<Itinerario>::iterator it2 = contenitore.itinerari.begin(); it2 != contenitore.itinerari.end(); ++it2)
            {
                if ((it1 != it2) && (contenitore.Confronta(*it1, *it2) == false))
                {
                    differenti.push_back(*it1);
                    cout << it1->nome << endl;
                }
            }
        }
        
    
          
     
        
            
           
          
        return 0;
        
    
    }

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.