Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 38
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    43

    [C++]lettura da file, problema specifico

    ciao a tutti.

    Devo leggere un file.txt di questo tipo:

    data col1(double) col2(d.) col3(d.) col4(d.) data col1(d.) col2(d.) col3(d.) col4(d.) ...etc...fino a 32 gruppi di dati..


    Le colonne dei diversi guppi non sono tutte lunghe uguali.
    Vorrei ottenere 5 vettori separati contententi conseguentemente il contenuto delle colonne "data", "col1".
    I problemi più grossi sono i seguenti:
    -come faccio a fargli leggere un gruppo per volta e dirgli che ha finito il precedente e che deve passare al successivo?
    -come leggere le date


    grazie mille!!!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Non capisco il problema ... hai gia' provato con i normali metodi di I/O del C++? Hai provato a scrivere del codice?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    43
    Non ho ancora scritto nulla perchè
    ho i problemi che ho elencato.

    Forse la via da percorrere è quella
    di creare una matrice con n colonne note e righe
    facendogliele contare.

    le date come vanno dichiarate?

    grazie.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Scusa, ma tu hai il file di testo? Hai un esempio concreto di quello che c'e' scritto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    43
    Il file è esportato da Excel in .txt.
    Non badare al disallineamento...
    Qui ne ho riportati solo due di gruppi di dati ed uno sotto
    l'altro, io ne ho 32 tutti allineati uno di fianco all'altro.
    Dimmi se non si capisce...grazie


    Dati prima azienda
    Date SALES_REV_TURN NET_INCOME PX_LAST PX_volume
    31/12/1998 1786 74 #N/A N/A #N/A N/A
    31/03/1999 2010 157 #N/A N/A #N/A N/A
    30/05/1999 2087 135 #N/A N/A #N/A N/A
    29/05/1999 2448 146 #N/A N/A #N/A N/A
    31/12/1999 1851 131 72,85 1381400
    31/03/2000 2142 166 97,99 2670400
    30/06/2000 2351 155 69,49 5923000
    29/09/2000 3017 305 46,11 2630500
    29/12/2000 2565 100 51,59 1480400
    30/03/2001 2406 102 28,95 3857500
    29/06/2001 1819 -225 30,62 4018400
    28/09/2001 1606 197 18,42 2181100
    31/12/2001 1426 -315 26,86 1534100
    28/03/2002 1457 -253 32,94 2681500
    28/06/2002 1391 -228 22,28 2456900
    30/09/2002 1736 -236 12,31 2661700
    31/12/2002 1412 -369 16,92 1164500
    31/03/2003 1467 -146 12,39 1848400
    30/06/2003 1502 -1556 18,42 2537900
    30/09/2003 1675 13 20,83 1466200
    31/12/2003 1643 71 27,55 2313500
    31/03/2004 1831 104 29,8 2512600
    30/06/2004 1885 100 27,59 2995000
    30/09/2004 1336 94 20,32 2485700
    31/12/2004 1212 103 22,71 1181800
    31/03/2005 1688 95 20,92 2708900
    30/06/2005 1242 104 21,69 1732300
    30/09/2005 543 25 30,86 4864900
    30/12/2005 1167 2816 31,37 2320900
    31/03/2006 1239 115 35,38 2734200
    30/06/2006 1239 227 29,74 3885400
    29/09/2006 1328 149 30,8 1455800
    29/12/2006 1280 150 34,85 1747700
    30/03/2007 1320 123 33,69 2560800
    29/06/2007 1374 185 38,44 1870000
    28/09/2007 1446 180 36,88 2267100
    31/12/2007 1393 120 36,74 2034890
    31/03/2008 1456 173 29,83 2249165
    30/06/2008 1444 169 35,54 2964971
    30/09/2008 1481 231 29,66 4151253
    31/12/2008 1166 64 15,63 4588694
    31/03/2009 #N/A N/A #N/A N/A 15,37 4735862

    Per la seconda aziendail contenuto nel file è di fianco a quello precedente)

    Date SALES_REV_TURN NET_INCOME PX_LAST PX_volume
    29/12/1989 2693,4 164,7 9,38 #N/A N/A
    30/03/1990 2636,3 148,6 8,09 #N/A N/A
    29/06/1990 2691,4 161,9 7,97 #N/A N/A
    28/09/1990 2676,1 125,1 7,83 #N/A N/A
    31/12/1990 2706,4 -140,4 7,2 #N/A N/A
    29/03/1991 2410 97 8,19 #N/A N/A
    28/06/1991 2569,3 81,2 8,44 #N/A N/A
    30/09/1991 2469,9 75,9 7,98 #N/A N/A
    31/12/1991 2434,9 -191,4 8,05 #N/A N/A
    31/03/1992 2251,4 -1056,3 8,81 #N/A N/A
    30/06/1992 2406,1 -48,2 9,48 #N/A N/A
    30/09/1992 2381,7 45,3 8,28 #N/A N/A
    31/12/1992 2452,3 -80 8,95 #N/A N/A
    31/03/1993 2109,6 27,6 8,06 #N/A N/A
    30/06/1993 2405,3 35,3 8,75 #N/A N/A
    30/09/1993 2230,2 28,8 8,39 #N/A N/A
    31/12/1993 2310,8 -86,9 8,67 #N/A N/A
    31/03/1994 2221,6 -108,3 8,95 #N/A N/A
    30/06/1994 2479,3 45,4 9,14 #N/A N/A
    30/09/1994 2561,6 70,1 10,59 #N/A N/A
    30/12/1994 2641,8 368 10,83 #N/A N/A
    31/03/1995 3009,8 193,8 10,38 #N/A N/A
    30/06/1995 3117,3 219,4 12,53 #N/A N/A
    29/09/1995 3264,8 226,4 13,22 #N/A N/A
    29/12/1995 3107,8 150,9 13,22 #N/A N/A
    29/03/1996 3149,6 178,2 15,66 #N/A N/A
    28/06/1996 3413,1 132,2 14,34 #N/A N/A
    30/09/1996 3240,6 68,4 14,75 #N/A N/A
    31/12/1996 3257,7 136,1 15,94 #N/A N/A
    31/03/1997 3231,1 159,1 17 #N/A N/A
    30/06/1997 3432 207,6 18,84 #N/A N/A
    30/09/1997 3357,5 228,1 20,5 #N/A N/A
    31/12/1997 3298,6 210,3 17,59 #N/A N/A
    31/03/1998 3445,1 209,9 17,2 #N/A N/A
    30/06/1998 3587 207,1 16,48 #N/A N/A
    30/09/1998 4108,9 217,7 17,75 #N/A N/A
    31/12/1998 4198,8 218,3 18,64 #N/A N/A
    31/03/1999 3984,7 221,1 20,59 #N/A N/A
    30/06/1999 4032,7 240 30,94 #N/A N/A
    30/09/1999 4052,3 259,1 31,03 #N/A N/A
    31/12/1999 4253,3 333,8 41,5 1381400
    31/03/2000 4509 347 35,13 2670400
    30/06/2000 5569 377 29 5923000
    29/09/2000 6298 368 25,31 2630500
    29/12/2000 6560 392 33,5 1480400
    30/03/2001 6176 404 35,95 3857500
    29/06/2001 5991 307 40 4018400
    28/09/2001 5511 339 31,01 2181100
    31/12/2001 5181 -142 35,55 1534100
    29/03/2002 4900 218 37,74 #N/A N/A
    28/06/2002 5158 232 33,15 2456900
    30/09/2002 5160 193 19,3 2661700
    31/12/2002 5061 -223 22,78 1164500
    31/03/2003 5140 151 19,38 1848400
    30/06/2003 5497 216 25,5 2537900
    30/09/2003 5310 280 26,16 1466200
    31/12/2003 5532 291 38 2313500
    31/03/2004 5588 355 34,69 2512600
    30/06/2004 5971 404 33,03 2995000
    30/09/2004 5818 283 33,59 2485700
    31/12/2004 5979 268 31,42 1181800
    31/03/2005 6289 260 30,39 2708900
    30/06/2005 6693 460 26,13 1732300
    30/09/2005 6401 289 24,42 4864900
    30/12/2005 6185 224 29,57 2320900
    31/03/2006 7111 608 30,56 2734200
    30/06/2006 7797 744 32,36 3885400
    29/09/2006 7631 537 28,04 1455800
    29/12/2006 7545 359 30,01 1747700
    30/03/2007 7908 662 33,9 2560800
    29/06/2007 8066 715 40,53 1870000
    28/09/2007 7387 555 39,12 2267100
    31/12/2007 7032 632 36,55 2034890
    31/03/2008 6998 303 36,06 2249165
    30/06/2008 7620 546 35,62 2964971
    30/09/2008 7234 268 22,58 4151253
    31/12/2008 4672 -1191 11,26 4588694
    31/03/2009 4147 -497 7,34 4735862

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    43
    la mia idea era quella di far leggere tutte le colonne e righe e fargliele
    mettere in una matrice con 32*4 colonne, quindi, e le righe gliele farei contare
    con la funzione getline.
    Non so però come dichiarare la componente della matrice che contiene le date
    (introducendo una struct?)...
    Poi riempirei un vettore gigante con 32*righe per ogni colonna, dividendo i
    dati tra un azienda e l'altra da uno 0. In questo modo
    riuscirei a raggruppare tutte le informazioni.
    Cosa ne pensi?

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    43
    Questo è ciò che sono riuscita a produrre, da un sacco di errori.
    Ciò che non so se è corretto e che non ho trovato da alcuna
    parte è la def della struct.
    Devo leggere date scritte in questo modo: int/int/int
    Se qualcuno può dare un'occhiata...grazie mille!!

    #include "stat.h"
    #include <stdlib.h>
    #include <stdio.h>
    #include "rng.h"
    #include "math.h"
    //#include "parse.h"
    #include <iostream>
    #include <fstream>
    #include <sstream>
    //#include <gsl/gsl_math.h>
    //#include <gsl/gsl_eigen.h>
    //#include <gsl/gsl_fit.h>
    //#include <gsl/gsl_statistics.h>
    using namespace std;

    #define SPACE << "\n " <<
    #define SP << " " <<
    //--------------------------------- CONSTANTS -----------------------------------
    const int F500_maxcomp=500;
    //-------------------------------------------------------------------------------
    //------------------------------- PROGRAMS TO RUN -------------------------------
    #define MAIN 1;

    int main(){
    int a,i,m,j,k,s,rg;
    double sommar,sommap;

    struct data {
    int mese;
    char "/";
    int giorno;
    char "/";
    int anno;
    };

    // Read File with epsilons and scaled revenues
    //fstream indata(infile.c_str(),ios::in);
    fstream indata("dati 2 aziende.txt",ios::in);
    indata.seekp(0,ios::beg); //positioning at the beginning of the file
    int nrighe=0; // Number of trim
    string line;
    while(getline(indata,line)){ nrighe++; }
    rg=nrighe*32;
    // and read them
    cout << "# Number of steps:" SP nrighe << endl;

    // Read data and put into matrix timeserie(i,j):
    double (*mat)[128] = new double[rg][128];
    //
    struct data(*trim)[32]=new struct data[nrighe][32];

    k=0;
    indata.clear();
    indata.seekp(0,ios::beg);
    for (j=0;j<nrighe;j++) //rows
    {
    for (i=0;i<160;i++) //columns
    {
    if(i==i*6)
    {indata >> trim[j][k];
    k++;}
    else
    indata >> mat[j][i];
    };
    k=0;
    }






    exit(0);
    //-------------------------------------------------------------------------------

    //-------------------------------------------------------------------------------
    // ################################################## ############################


    //-------------------------------------------------------------------------------


    }

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    43
    se non si capisce scrivetemi! Aiuto!!!

  9. #9
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Intanto utilizza i tag code, se no non si capisce niente.
    Poi, che significa questo?
    codice:
     struct data { 
            int mese;
            char "/";    // che è?
            int giorno;
            char "/"; // che è?
            int anno; 
            };
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    43
    grazie per la risposta, intanto.

    devo definirgli il carattere "/", presente nella data...non ho idea di come fare.

    grazie

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.