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