This shows you the differences between two versions of the page.
|
programare-cc:laboratoare:11 [2025/12/14 16:19] carmen.odubasteanu [Problema 2 (Rezolvata)] |
programare-cc:laboratoare:11 [2025/12/14 16:29] (current) carmen.odubasteanu [Problema 4] |
||
|---|---|---|---|
| Line 117: | Line 117: | ||
| ====Problema 3A==== | ====Problema 3A==== | ||
| - | Scrieţi un program pentru căutarea unui şir dat întrun 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 128: | 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 întrun 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 sa 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 sa 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 185: | Line 189: | ||
| ^ 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 naveti somn azi | Bcjb bstfpt fxbnfouc ef PC \\ Jo vbdbotb eprn. Eprn pf pbrtjf \\ Djof vrfb sb sf kpbdf PBDNBO \\ Vpj obvftj 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 | |