Titlul: fisiere Scris de: Plesa Mihail Iulian din Ianuarie 22, 2011, 09:59:25 :banana:
Doi amici pricepuÅ£i într-ale informaticii scriu fiecare câte un fiÅŸier cu numere. Profesorul le spune că în marea majoritate a cazurilor, primul elev scrie numere mai mici decât cel de-al doilea. Pentru a le demonstra acest fapt, el le cere sa îi spună câte dintre numerele primului elev sunt mai mici decât toate numerele scrise de al doilea elev. Primele două fiÅŸiere au fost uÅŸor de comparat, deoarece aveau numere puÅ£ine, dar când au gasit fiÅŸiere de 10000 de numere s-au cam încurcat. CerinÅ£e AjutaÅ£i-i pe cei doi să determine numărul cerut. ScrieÅ£i în fiÅŸierul RÄ‚SPUNS.TXT câte numere din UNU.TXT sunt strict mai mici decât toate numerele din DOI.TXT. Date de intrare ÃŽn fiÅŸierele UNU.TXT ÅŸi DOI.TXT se afla cel puÅ£in 3 ÅŸi cel mult 10000 numere. Date de ieÅŸire ÃŽn fiÅŸierul RÄ‚SPUNS.TXT se va scrie câte numere din UNU.TXT sunt strict mai mici decât toate numerele din DOI.TXT. :banana: Cum ar trebui sa procedez cand am doua fisiere de intrare (ca in problema de mai sus)? Daca vreau spre exemplu sa citesc primul element din fisierul unu.txt si al treilea element din fisierul doi.txt cum ar trebui sa scriu in c++? Poate sa existe o problema in care sa ni se dea n fisiere de intrare? Cum am scrie asta in c++ daca ar fi sa fac o suma care sa aiba ca termeni primul numar din fiecare fisier (primul nr din fisierul de intrare 1 + primul nr din fisierul de intrare 2 +..... + primul nr din fisierul de intrare n) ? Multumesc mult! Titlul: Răspuns: fisiere Scris de: Simoiu Robert din Ianuarie 22, 2011, 10:53:06 Ai 2 variante :
1. Poti face cu vectori, asa folosesti un singur fisier. 2. Poti face cu 2 fisiere, adica fisierele f si g, amandoua deschise asa : Cod: FILE *f = fopen ( "UNU.TXT", "r" ) ; Citat Daca vreau spre exemplu sa citesc primul element din fisierul unu.txt si al treilea element din fisierul doi.txt cum ar trebui sa scriu in c++? Pentru primul element faci asa : fscanf ( f, "%d", &x ) ; Pentru al doilea trebuie sa citesti 3 elemente din al doilea fisier :Cod: for ( int i = 0; i < 3; ++i ) Titlul: Răspuns: Răspuns: fisiere Scris de: Plesa Mihail Iulian din Ianuarie 22, 2011, 11:03:05 Ai 2 variante : 1. Poti face cu vectori, asa folosesti un singur fisier. 2. Poti face cu 2 fisiere, adica fisierele f si g, amandoua deschise asa : Cod: FILE *f = fopen ( "UNU.TXT", "r" ) ; Citat Daca vreau spre exemplu sa citesc primul element din fisierul unu.txt si al treilea element din fisierul doi.txt cum ar trebui sa scriu in c++? Pentru primul element faci asa : fscanf ( f, "%d", &x ) ; Pentru al doilea trebuie sa citesti 3 elemente din al doilea fisier :Cod: for ( int i = 0; i < 3; ++i ) si pentru n fisiere trebuie sa scriem de n ori " FILE*nume..." ? multumesc! Titlul: Răspuns: fisiere Scris de: Simoiu Robert din Ianuarie 22, 2011, 11:07:35 Da, dar nu cred ca ai tu nevoie de atatea fisiere :))) ( doar schimbi literele de dupa *, si la fscanf pui primul argument acea litera ).
Titlul: Răspuns: fisiere Scris de: George Popoiu din Ianuarie 22, 2011, 11:43:09 Daca chiar o sa ai nevoie de n fisiere poti sa faci ceva de genu :
Cod: FILE* files[NMax]; Cod: fstream files[NMax]; |