Differences

This shows you the differences between two versions of the page.

Link to this comparison view

programare-cc:laboratoare:11 [2023/12/20 13:50]
mihai.nan [Problema 3A]
programare-cc:laboratoare:11 [2025/12/14 16:29] (current)
carmen.odubasteanu [Problema 4]
Line 61: Line 61:
     ​     ​
     pFile = fopen("​myfile.txt"​ , "​r"​);​     pFile = fopen("​myfile.txt"​ , "​r"​);​
-    if (pFile == NULL)+    if (pFile == NULL) {
         printf("​Nu s-a putut deschide fisierul"​);​         printf("​Nu s-a putut deschide fisierul"​);​
 +        return 1;
 +    }
     ​     ​
     while (fgets(buffer,​ BUFMAX, pFile) != NULL) {     while (fgets(buffer,​ BUFMAX, pFile) != NULL) {
Line 68: Line 70:
     }     }
     fclose(pFile);​     fclose(pFile);​
 +    return 0;
 } }
 </​code>​ </​code>​
Line 73: Line 76:
  
 ==== Problema 2 (Rezolvata) ==== ==== Problema 2 (Rezolvata) ====
-Scrieţi un program pentru concatenarea mai multor fişiere text într­un ​fişier destinaţie. Programul va primi numele fişierelor ca +Scrieţi un program pentru concatenarea mai multor fişiere text într­-un ​fişier destinaţie. Programul va primi numele fişierelor ca 
-argumente în linia de comandă, în următoarea ordine: destinatie $sursa_1, sursa_2 \dots sursa_n$.+argumente în linia de comandă, în următoarea ordine: ​**destinatie**, $sursa_1, sursa_2 \dots sursa_n$.
  
 ==Date de intrare== ==Date de intrare==
Line 114: Line 117:
  
 ====Problema 3A==== ====Problema 3A====
-Scrieţi un program pentru căutarea unui şir dat într­un ​fişier text şi afişarea liniilor care conţin şirul dat. Numele fişierului şi şirul căutat+Scrieţi un program pentru căutarea unui şir dat într-­un ​fişier text şi afişarea liniilor care conţin şirul dat. Numele fişierului şi şirul căutat
 vor fi trimise ca argumente în linia de comandă, în această ordine. vor fi trimise ca argumente în linia de comandă, în această ordine.
  
 ==Date de intrare (argumente în linia de comandă)== ==Date de intrare (argumente în linia de comandă)==
 Numele fişierului in care se realizează cautarea Numele fişierului in care se realizează cautarea
-Stringul ​căutat+Sirul căutat
  
 ==Date de ieşire (consolă)== ==Date de ieşire (consolă)==
Line 125: Line 128:
  
 ==Exemplu== ==Exemplu==
-Pentru a căuta în fişierul input.txt ​stringul ​vacanta:+Pentru a căuta în fişierul input.txt ​sirul vacanta:
  
 **./​executabil input.txt vacanta** **./​executabil input.txt vacanta**
  
 ^ input.txt ^ stdout ​   ^ ^ input.txt ^ stdout ​   ^
-|Mai e putin si vine vacanta \\ Mie nu imi plac pointerii dar iubesc vacanta \\ Abia astept sesiunea \\ Haideti sa mergem la un suc chiar acum \\ Cine stie sa se dea cu placa de snowboard ?! \\ Vacanta asta merg la Predeal si ma dau cu placa :) \\ Ma asteapta o sesiune infernala :-( \\ Vine vacanta cu trenul din Franta ... \\ La multi ani 2021 | Mai e putin si vine vacanta \\ Mie nu imi plac pointerii dar iubesc vacanta \\ Vine vacanta cu trenul din Franta ... |+|Mai e putin si vine vacanta \\ Mie nu imi plac pointerii dar iubesc vacanta \\ Abia astept sesiunea \\ Haideti sa mergem la un suc chiar acum \\ Cine stie sa se dea cu placa de snowboard ?! \\ Vacanta asta merg la Predeal si ma dau cu placa :) \\ Ma asteapta o sesiune infernala :-( \\ Vine vacanta cu trenul din Franta ... \\ La multi ani!  ​| Mai e putin si vine vacanta \\ Mie nu imi plac pointerii dar iubesc vacanta \\ Vine vacanta cu trenul din Franta ... |
  
  
 ====Problema 3B==== ====Problema 3B====
-Scrieţi un program pentru căutarea unui şir dat într­un ​fişier text şi afişarea liniilor care conţin şirul dat. Numele fişierului şi şirul căutat vor fi +Scrieţi un program pentru căutarea unui şir dat într­-un ​fişier text şi afişarea liniilor care conţin şirul dat. Numele fişierului şi şirul căutat vor fi 
-trimise ca argumente în linia de comandă, în această ordine. Adăugaţi programului posibilitatea de a primi ca argumente şi una sau mai multe +trimise ca argumente în linia de comandă, în această ordine ​(problema anterioara). 
-dintre următoarele opţiuni (ultimele 2 argumente vor fi întotdeauna numele fişierului şi şirul căutat): + 
-­i ignoră diferenţa dintre litere mici şi litere mari. +Adăugaţi programului ​anterior ​posibilitatea de a primi ca argumente şi una sau mai multe dintre următoarele opţiuni (ultimele 2 argumente vor fi întotdeauna numele fişierului şi şirul căutat): 
-­n afişează şi numerele liniilor din fişier care conţin şirul căutat. +­  
-­c afişează numărul de linii în care s­a găsit şirul căutat.+     * **i** ignoră diferenţa dintre litere mici şi litere mari. 
 +  * **n** afişează şi numerele liniilor din fişier care conţin şirul căutat. 
 +  * **c** afişează numărul de linii în care s­-a găsit şirul căutat.
 Aceste 3 argumente pot apărea în orice ordine. Aceste 3 argumente pot apărea în orice ordine.
  
 ==Date de intrare (argumente în linia de comandă)== ==Date de intrare (argumente în linia de comandă)==
-Numele fişierului în care se realizează căutarea +  - Parametrii pentru căutare 
-Parametrii pentru căutare +  - Numele fişierului în care se realizează căutarea 
-Stringul ​căutat+  - Sirul căutat
  
 ==Date de ieşire (consolă)== ==Date de ieşire (consolă)==
-Liniile ce conţin şirul căutat +  - Liniile ce conţin şirul căutat ​impreuna cu numărul liniei  
-Numărul liniei ​din fişierul sursă +  ​- ​Numărul de linii în care s­-a găsit şirul căutat
-Numărul de linii în care s­a găsit şirul căutat+
  
 ==Exemplu== ==Exemplu==
-Dacă, căutăm în fişierul input.txt ​stringul ​vacanta: +Dacă, căutăm în fişierul input.txt ​sirul vacanta: 
-./​executabil ­c ­i ­n input.txt vacanta+ 
 +**./​executabil ­c ­i ­n input.txt vacanta**
  
 ^ input.txt ^ stdout ​   ^ ^ input.txt ^ stdout ​   ^
-|Mai e putin si vine vacanta \\ Mie nu imi plac pointerii dar iubesc vacanta \\ Abia astept sesiunea \\ Haideti sa mergem la un suc chiar acum \\ Cine stie sa se dea cu placa de snowboard ?! \\ Vacanta asta merg la Predeal si ma dau cu placa :) \\ Ma asteapta o sesiune infernala :-( \\ Vine vacanta cu trenul din Franta ... \\ La multi ani 2014 | [1] Mai e putin si vine vacanta \\ [2] Mie nu imi plac pointerii dar iubesc vacanta \\ [6] Vacanta asta merg la Predeal si ma dau cu placa :) \\ [8] Vine vacanta cu trenul din Franta ... \\ Numar total de linii: 4 |+|Mai e putin si vine vacanta \\ Mie nu imi plac pointerii dar iubesc vacanta \\ Abia astept sesiunea \\ Haideti sa mergem la un suc chiar acum \\ Cine stie sa se dea cu placa de snowboard ?! \\ Vacanta asta merg la Predeal si ma dau cu placa :) \\ Ma asteapta o sesiune infernala :-( \\ Vine vacanta cu trenul din Franta ... \\ La multi ani | [1] Mai e putin si vine vacanta \\ [2] Mie nu imi plac pointerii dar iubesc vacanta \\ [6] Vacanta asta merg la Predeal si ma dau cu placa :) \\ [8] Vine vacanta cu trenul din Franta ... \\ Numar total de linii: 4 |
  
 ====Problema 4==== ====Problema 4====
 Se dă un fişier în care este memorată o tabelă de codificare, sub forma: Se dă un fişier în care este memorată o tabelă de codificare, sub forma:
-caracter_de_codificat caracter_codificat \n+ 
 +**caracter_de_codificat caracter_codificat \n** 
 Să se scrie un program care primeşte ca argumente în linia de comandă numele fişierului conţinând tabela de codificare, numele Să se scrie un program care primeşte ca argumente în linia de comandă numele fişierului conţinând tabela de codificare, numele
 fişierului de codificat şi numele fişierului în care se va scrie codificarea (în această ordine) şi codifică fişierul primit conform codului. fişierului de codificat şi numele fişierului în care se va scrie codificarea (în această ordine) şi codifică fişierul primit conform codului.
 +
 Presupunem un fişier tabela_de_codare.in care reţine următoarele corespondenţe:​ Presupunem un fişier tabela_de_codare.in care reţine următoarele corespondenţe:​
 ^ tabela_de_codare.in ^ ^ tabela_de_codare.in ^
Line 176: Line 184:
 ==Exemplu== ==Exemplu==
 Aplicăm algoritmul de codare pe fişierul input.txt şi vom obţine un fişier output.txt. Aplicăm algoritmul de codare pe fişierul input.txt şi vom obţine un fişier output.txt.
-./​executabil tabela_de_codare.in input.txt output.txt+ 
 + 
 +**./​executabil tabela_de_codare.in input.txt output.txt**
  
 ^ Intrare (input.txt ) ^ Ieşire (output.txt) ^ ^ Intrare (input.txt ) ^ Ieşire (output.txt) ^
-| Abia astept examenul de PL \\ In vacanta dorm. Dorm pe partie \\ Cine vrea sa se joace PACMAN \\ Voi n­aveti ​somn azi | Bcjb bstfpt fxbnfouc ef PC \\ Jo vbdbotb eprn. Eprn pf pbrtjf \\ Djof vrfb sb sf kpbdf PBDNBO \\ Vpj o­bvftj ​spno bzj |+| Abia astept examenul de PL \\ In vacanta dorm. Dorm pe partie \\ Cine vrea sa se joace PACMAN \\ Voi aveti somn azi | Bcjb bstfpt fxbnfouc ef PC \\ Jo vbdbotb eprn. Eprn pf pbrtjf \\ Djof vrfb sb sf kpbdf PBDNBO \\ Vpj bvftj spno bzj |
  
  
programare-cc/laboratoare/11.1703073028.txt.gz · Last modified: 2023/12/20 13:50 by mihai.nan
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0