Come vedere un testo con fstream?

di il
7 risposte

Come vedere un testo con fstream?

Salve a tutti.
Avrei una domanda in un file.txt ho ad esempio questa serie di numeri :

5 7 50 74 59 31 73
6 44 79 24 10 41 66 93
7 42 88 4 28 30 41 13 4

(Ora, prendendo in esempio la prima riga)
In pratica il primo numero (5) della riga rappresenta quanti numeri ci sono dopo il secondo numero(7), mentre quest'ultimo (il 7) è un valore pivot con il quale devo confrontare qei cinque numeri in poche parole devo vedere quali tra questi è maggiore del secondo numero (7) quindi: 50>7, 74>7?.....e cosi via.

il problema è che non so come vedere i numeri nel file di testo, li vede automaticamente come una matrice? non so proprio come interpretarli e di conseguenza spostarmi con i vari cicli.

7 Risposte

  • Re: Come vedere un testo con fstream?

    Non è che “li vede automaticamente come una matrice”. Sei tu che devi interpretare l’input.

    Sai quante righe ci sono? Devi per forza memorizzare i valori in un array?
  • Re: Come vedere un testo con fstream?

    _Achille ha scritto:


    Non è che “li vede automaticamente come una matrice”. Sei tu che devi interpretare l’input.

    Sai quante righe ci sono? Devi per forza memorizzare i valori in un array?
    si, ci sono 100 righe nel file di input.
    no, ho pensato di automaticamente mettere tutti i valori maggiori del secondo numero in un'altro file txt
  • Re: Come vedere un testo con fstream?

    Allora [CODE] per t da 0 a 100: leggi num_valori leggi comparatore per i da 0 a num_valori: leggi x se x > comparatore: scrivi x scrivi ' ' scrivi '\n'
  • Re: Come vedere un testo con fstream?

    _Achille ha scritto:


    Allora [CODE] per t da 0 a 100: leggi num_valori leggi comparatore per i da 0 a num_valori: leggi x se x > comparatore: scrivi x scrivi ' ' scrivi '\n'
    ma come faccio ad andare a capo nel file di input? tu mi dici "t da 0 a 100" il primo ciclo t=0 e quindi sarà sul 5 finito il ciclo sarà sul 7 e non sul 6
    (riga a capo).
    non ho capito.
  • Re: Come vedere un testo con fstream?

    Quando leggi su un file automaticamente il puntatore di lettura avanza…

    Quanti leggi vengono eseguiti da quell’algoritmo per riga?
  • Re: Come vedere un testo con fstream?

    Ho capito era proprio quello il problema non riuscivo pensavo di avere il controllo completo sul file in realtà va interpretato diversamente
    ecco qua:
    
    #include <iostream>
    #include <fstream>
    
    using namespace std;
    
    ifstream read("test.txt");
    ofstream write("test2.txt");
    
    
    int main()
    {
        int x=0;
        int j=0;
        int y=0;
        for(int t=0; t<100; t++)
            {
                read >>x;
                read >>j;
                write << x;
                write << " ";
                for(int k=0;k<x;k++)
                    {
                        read >>y;
                        if(y>j)
                            {
                                write <<y;
                                write << " ";
                            }
                    }
                    write << '\n';
    
    
            }
    
    
        return 0;
    }
    
    
  • Re: Come vedere un testo con fstream?



    PS: indenta bene quel codice e dai nomi significativi alle variabili. Cos’è x a prima vista? Cos’è j? Inoltre se è possibile, meglio variabili locali il più possibile, all’interno dello scope in cui si utilizzano
Devi accedere o registrarti per scrivere nel forum
7 risposte