Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269

    [C++]Lettura da file e inserimento in lista

    Salve io ho il seguente codice:
    codice:
    #include <iostream>
    #include <fstream>
    #include <string>
    
    using namespace std;
    
    /* dichiarazione della lista */
    typedef struct nodo{
        int value;
        nodo *link;
    } lista;
    
    /* prototipi delle functions */
    void foo(fstream &mat, lista *Lista_new);
    
    int main()
    {
        fstream mat;
        mat.open("MAT.txt", fstream::in | fstream::out | fstream::app);
        lista *Lista_new;
        Lista_new=NULL;
    
        foo(mat, Lista_new);
    }
    
    /* SCOPO:
     * Estrapolare i valori dal matrice presente nel  file e inserire
     * in una lista i soli elementi di posto pari */
    void foo(fstream &mat, lista *Lista_new){
    
        int i=0;
        int valore;
        lista *new_node, *temp;
        string row, col, space;
        getline(mat, row, ' ');
        cout<<"Dimensione righe: "<<row<<endl;
        getline(mat, col, ' ');
        cout<<"Dimensione colonne: "<<col<<endl;
    
        while(!mat.eof() && i<23){
            mat>>valore;
            new_node=new lista;
            new_node->value=valore;
            new_node->link=NULL;
            if(i%2==0){
                if(Lista_new==NULL){
                    Lista_new=new_node;
                }else{
                    temp=Lista_new;
                    while(temp->link != NULL)
                        temp=temp->link;
                    temp->link=new_node;
                }
                cout<<temp->value<<"->";
            }
            i++;
        }
    }
    ed ho il seguente file "MAT.txt" strutturato in questo modo:
    codice:
    4 6 
    2 3 3 4 5 6
    1 7 8 9 5 4
    10 12 25 2 4 5
    2 5 4 6 9 8
    In alto, 4 e 6 indicano rispettivamente righe/colonne, mentre gli altri numeri rappresentano una matrice.
    Adesso la mia function deve estrapolare i valori partendo dal 2 fino all'8 prendendo in cosiderazione solo quelli di posto pari. La function sopra riportata funziona benissimo solo che mi dà un unico problema, mi restituisce in output:
    codice:
    Dimensione righe: 4
    Dimensione colonne: 6
    427081861->2->3->5->1->8->5->10->25->4->2->4->
    Cos'è quel numero iniziale: 427081861???

    Grazie anticipatamente,
    gaten
    Con i sogni possiamo conoscere il futuro...

  2. #2
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    up
    Con i sogni possiamo conoscere il futuro...

  3. #3
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    up
    Con i sogni possiamo conoscere il futuro...

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.