#590 · Subiectul II · Programare
Literele comune tuturor cuvintelor (citire și stergere)
✓ Rezolvare explicatăBucurești 2020 · nr. 18
Enunț
În fișierul atestat.in, pe prima linie se află un număr natural n (2≤n≤30), iar pe următoarele n linii câte un cuvânt de cel mult 100 de litere mici ale alfabetului englez.
Se consideră subprogramele:
citire, cu doi parametri:cuv, un tablou bidimensional care poate memora cel mult 30 de cuvinte (câte unul pe rând, fiecare cu maxim 100 de caractere), șin, numărul de linii. Citește cuvintele dinatestat.inși furnizează datele prin cei doi parametri;stergere, cu doi parametri:s, un șir de cel mult 100 de caractere, șic, un caracter. Modifică șiruls, eliminând toate aparițiile luic, și returnează numărul ștergerilor efectuate.
a. Scrieți definiția completă a subprogramului citire.
b. Scrieți definiția completă a subprogramului stergere.
c. Scrieți un program care, folosind apeluri utile ale subprogramelor citire și stergere, citește datele din atestat.in și scrie în atestat.out, pe prima linie, toate literele comune celor n cuvinte. Fiecare literă se scrie o singură dată, iar literele sunt separate printr-un spațiu. Dacă nu există litere comune, se scrie nu exista.
Exemple
atestat.in |
atestat.out |
Explicații |
|---|---|---|
4evantaivariabilevacanterevoltator |
a e v |
Literele se pot afișa și în altă ordine; rezolvarea de mai jos le scrie alfabetic |
Rezolvare
Exersează mai departe
Probleme cu aceeași tehnică
#041ProgramareSă se numere apariţiile unui cuvânt dat, citit de la tastatură, în text#045ProgramareSă se afişeze indicii coloanelor care au toate elementele impare#048ProgramareSă se afişeze cel mai mare element din matrice şi poziţiile pe care apare#049ProgramareSă se afişeze cel mai mic element din matrice şi poziţiile pe care apare#054ProgramareSă se schimbe între ele două linii l1 şi l2, date de la tastatură#055ProgramareSă se afişeze indicii liniilor care au toate elementele pare