Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++]confronto di rieghe in un file

    salve a tutti,
    ho un file con centinaia e centinaia di righe formate da 5 numeri a testa, sto provando a scrivere il codice che confronti le righe tra loro e mi dica la posizione delle righe uguali.

    riesco a fargli fare il primo passaggio, ovvero confrontare la prima riga con tutte le altre, poi non riesco a fargli confrontare la seconda riga con il resto.

    premetto che non sono espertissimo di programmazione in c++.

    grazie mille in anticipo per l'aiuto.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    286
    Dovresti caricare il contenuto del file su un buffer, per poi fare il raffronto di ogni linea su tutto il buffer.

    Se posti il codice (o parte di esso) otterrai maggiori aiuti.

  3. #3
    Vabbè oggi sono particolarmente buono ....
    codice:
    #include <iostream>
    #include <fstream>
    #include <deque>
    #include <string>
    using namespace std;
    
    deque <string> lista;
    
    bool raccogliDati (char *path);
    void mostraDati ();
    
    main (int argc, char *argv[])
        {
        if (argc == 2)
            if (raccogliDati (argv[1]))
                mostraDati ();
            else
                cout << "Errore nella lettura del file" << endl;
        else
            cout << "Usare : "<< argv[0] << " <nomefile>" << endl;
        return EXIT_SUCCESS;
        }
    
    bool raccogliDati (char *path)
        {
        ifstream fin (path, ios::in);
        if (!fin)
            return false;
    
        string stringa;
        while (getline (fin, stringa))
            {
            lista.push_back (stringa);
            }
    
        fin.close();
        return true;
        }
    
    void mostraDati ()
        {
        for (deque<string>::iterator i = lista.begin (); i != lista.end(); i++)
            cout << *i << endl;
        }
    Il prog legge il file riga per riga (quello che credo tu non sappia fare).
    Ora implementa un'algoritmo decente e posta il codice.
    Experience is what you get when you don’t get what you want

  4. #4

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.