Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Problema c++
Forum - C/C++ - Problema c++

Avatar
albled (Normal User)
Newbie


Messaggi: 1
Iscritto: 27/06/2011

Segnala al moderatore
Postato alle 17:58
Lunedì, 27/06/2011
Salve a tutti!!
Sono  nuovo in questo forum avevo un problema d'informatica in "C++":
-devo fare un metodo con un parametro di tipo char array (faccio cosi perchè il compilatore nn mi acceta lo string) dove il parametro è il nome di un file.
-il file F che faccio è composto dalla combinazione delle linee di tre file d'ingresso .
L1a è la prima riga del file di nome A ,L2a e la seconda riga del file di nome A e cosi via ,stessa cosa per L1b,L2b,...e L1c,L2c,...  il file di nome F è la combinazione delle righe dei tre file A,B e C  composto cosi: L1a,L1b,L1c,L2a,L2b,L2c,L3a,L3b,L3c,...e cosi via .  
Se per esempio il file di nome A e composto da un numero di righe minore rispetto agli altri file si ripete l'ultima riga del file A,come nel esempio :

-se ho :L1a=1,L2a=1,L3a=8;  L1b=...=L4b=2;   L1c=3...=L4c=3;
con il seguente codice mi viene la combinazione :123123823823,invece di 12312382323
Quindi ho il file F : L1a,L1b,L1c,L2a,L2b,L2c,L3a,L3b,L3c,'L3a',L4b,L4c
mà 'L3a' si ripete  voglio fare in modo che ciò non succeda ma che continui con le righe degli altri file .
Codice sorgente - presumibilmente C#

  1. void interleave(char F[]){
  2.                      char A[],B[],C[];
  3.                          string k,s,d;
  4.                                int c3=0;
  5.                                    fstream ff,f1,f2,f3;
  6.                                       f1.open(A,ios::in);
  7.                                        f2.open(B,ios::in);
  8.                                         f3.open(C,ios::in);
  9.                                        f.open(F,ios::out);
  10.                            do{
  11.                                if((f1.eof()&&f2.eof()&&f3.eof())) break;
  12.                                    getline(f1,k,'\n');
  13.                                         f<<k;
  14.                                      getline(f2,s,'\n');  
  15.                                          f<<s;
  16.                                       getline(f3,d,'\n');
  17.                                            f<<d;
  18.                                               c3++;
  19.                                                  }while(1);
  20.                                      
  21.          
  22.                                   f.close();
  23.                                    f1.close();
  24.                                     f2.close();
  25.                                      f3.close();
  26.                                    
  27.                                      }



Spero di essere stato chiaro anche se il problema sembra  abbastanza complesso.Saluti

Ultima modifica effettuata da albled il 27/06/2011 alle 19:31
PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Up
3
Down
V
Segnala al moderatore
Postato alle 18:25
Lunedì, 27/06/2011
Non ho capito molto del problema (forse dovresti spiegarlo un po' meglio) ma quello che non capisco e' quale compilatore C++ hai che non supporta le string ...

Risolvendo questo problema, probabilmente avresti vita più facile ...

uso Dev-C++ 4.9.9.2 - albled - 27/06/11 18:58
DevC++ supporta tranquillamente le string ... perché non provi ad usarle? - nessuno - 27/06/11 23:07
non ho mai sentito parlare di nessun compilatore di nome dev-c++ - anthony015 - 28/06/11 01:30
DevC++ è l'ambiente e credo tu lo sappia bene ... molte volte si semplifica ... - nessuno - 28/06/11 08:57
cercherò di usare gli string ,comunque grazie nessuno. - albled - 28/06/11 14:22
hai incluso la libreria opportuna? hai utilizzato il namespace? - anthony015 - 30/06/11 16:36
molte volte si semplifica erroneamente, non si deve confondere un IDE(se di può parlare di IDE riferendosi al dev) con un compilatore, è cosa ben diversa - anthony015 - 09/07/11 02:34
*si - anthony015 - 09/07/11 02:35


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM