albled (Normal User)
Newbie
Messaggi: 1
Iscritto: 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# |
void interleave(char F[]){ char A[],B[],C[]; string k,s,d; int c3=0; fstream ff,f1,f2,f3; f1.open(A,ios::in); f2.open(B,ios::in); f3.open(C,ios::in); f.open(F,ios::out); do{ if((f1.eof()&&f2.eof()&&f3.eof())) break; getline(f1,k,'\n'); f<<k; getline(f2,s,'\n'); f<<s; getline(f3,d,'\n'); f<<d; c3++; }while(1); f.close(); f1.close(); f2.close(); f3.close(); }
|
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 |
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
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 ...
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à. |