Sunteți pe pagina 1din 4

Probleme cu siruri de caractere

1.Scrieti o functie care calculeaza lungimea unui sir de caractere.


2.Scrieti cate o functie care simuleaza efectul functiilor predefinite: strcpy, strncpy,
strcat, strcmp, strupr.
3.Se citeste un cuvnt format doar din litere mici. Sa se permute circular spre stnga literele sale si sa se
afiseze cuvntul astfel obtinut.
Ex. Alina => linaA
4.Se citeste un cuvant format din litere mici. Sa se afiseze cuvintele care se obtin prin eliminarea
succesiva a primei si ultimei litere din cuvantul citit. Ex: Daca de citeste cuvantul alina se vor afisa:
alina
lin
i
5.Se citesc de la tastatur: un numr natural n ( n10) i apoi n nume de persoane. S se afieze pe
ecran cel mai lung nume.
6.Fiierul text trei.in conine: pe prima linie un numr natural n ( n10) si pe urmtoarele n linii cte
un text cu maxim 200 de caractere. S se afieze cele n texte n fiierul text trei.out fiecare avnd
caracterele ordonate lexicografic.
7.Se citesc de la tastatur: un numr natural n ( n10) i apoi n propoziii cu maxim 100 de caractere.
Fiecare propoziie este alctuit din cuvinte separate prin cte un singur spatiu. S se afieze n
fisierul patru.txt propozitiile cu cel mai mare numr de cuvinte.
8.Fiierul text unu.in conine, pe linii separate, nume distincte de persoane. S se afieze n fiierul
text unu.out cel mai mare i cel mai mic nume n sens lexicografic.
Exemplu:
dac fiierul unu.in are continutul alturat
Andrei Petre
fiierul unu.out va avea coninutul de mai jos :
Manolescu Mircea
ANDREI VASILE
Manolescu Mircea
ANDREI VASILE
9.Se dau de la tastatur: un text cu maxim 200 de caractere i o secven de maxim 10 caractere. S
se afieze numrul de apariii ale secvenei n text.
Exemple :
pentru textul abcd12bcdbdbc si secventa bc se afiseaza 3
pentru textul aaaa12aaa3aa si secventa aa se afiseaza 6
10.Se dau de la tastatur: un text cu maxim 200 de caractere, un caracter i o secvena cu maxim 10
caractere care nu conine caracterul dat anterior. S se insereze n text, dup fiecare apariie a
caracterului dat secvena dat.
Exemplu :
Dac text=a123bc1224f23gh123, caracter= 2 i secvena=XY noul text va fi:
a12XY3bc12XY2XY34f2XY3gh12XY3
11.Se citeste un text scris cu litere mici si spatii. Sa se codifice textul prin nlocuirea fiecarei litere cu
urmatoarea din alfabet, litera z nlocuindu-se cu a .
Ex. ana are mere => bob bsf nfsf
12.Se citeste un cuvant format din litere mici. Sa se afiseze cuvintele care se obtin prin eliminarea
succesiva a literei sau a celor 2 litere din mijlocul cuvantului citit.
Ex: Daca de citeste cuvantul cosmina se vor afisa:
cosina
cona
ca
13.Se d de la tastatur un o propoziie cu maxim 200 de caractere, alctuit din cuvinte separate prin
cte un singur spaiu. Cu cuvintele propoziieii date s se alctuiasc o nou propoziie, aranjndu-le n
ordinea invers celei iniiale.
Exemple :
pentru propoziia ana are multe mere se afiseaza mere multe are ana
14.Fiierul text sase.in conine, pe linii separate, texte alctuite cu maxim 100 de litere fiecare.
Pentru fiecare text, s se construiasc cte o propoziie alctuit din toate secvenele cu litere identice
separate prin cte un spaiu. S se afieze propoziiile n fiierul text sase.out, pe linii separate.
Exemplu:

dac fiierul sase.in are continutul alturat fiierul


sase.out va avea coninutul de mai jos :

AAAabcddddx
AbDx

AAA a b c dddd x
A b D x
15.Se dau de la tastatura doua texte s1 si s2. Sa se afiseze, pe linii separate in fisierul ex1.txt toate
secventele din s1 formate doar din caractere ce apar in s2.
Exemplu : s1=abcafghbbbcccj s2=acb

ex1.txt
abca
bbbccc
16.Spunem ca doua cuvinte "rimeaza" daca sufixele incepand de la ultima vocala sunt identice. Sa se
scrie un program care citeste doua cuvinte a si b si determina daca ele "rimeaza".
Ex: Diana si Sana "rimeaza"
17.Se citete de la tastatur o expresie matematic n care operanzii sunt constante ntregi, operatorii
pot fi de adunare si nmultire iar ordinea operatiilor este impusa cu ajutorul parantezelor rotunde. S se
determine cti dintre operanzi sunt negativi i suma celor pozitivi.
Exemplu : expresia este (100+15)*((-3+5)*4+(-7+8)*2)
ecran: 2 134
18.n fisierul text doi.in exista mai multe linii de text pe care sunt scrise cuvinte, spatii si numere reale
strict pozitive. Care este cel mai mare numar real scris in fisier ?
Exemplu : daca fisierul doi.in are continutul alaturat
doi.in
rezultatul cerut va fi 143.75
ana are 12.5 lei
eu am numai 14.25
143.75 lei are dan
19.Sa se verifice daca doua cuvinte citite sunt p-rime (daca ultimele p caractere ale lor coincid, p dat).
20.Se dau doua siruri de caractere de lungimi egale, primul contine doar litere, al doilea doar cifre.
Construiti un al treilea sir prin repetarea pe rand a fiecarui caracter din primul sir de un numar de ori egal
cu cifra corespunzatoare din al doilea sir.
Ex. s1: abc, s2:243 => s3: aabbbbccc.
21.Se citeste un cuvant format din maxim 10 litere mici, si un numar n natural, n<=50. Construiti sirul
obtinut prin multiplicarea cuvantului de n ori
22.Se citesc doua cuvinte de maxim 20 de litere fiecare. Afisati literele comune celor doua cuvinte. O
litera comuna se va afisa o singura data.
Nu se va face diferenta intre litere mici si litere mari.
ex. pentru Matematica si Termometru se va afisa: E, M, T
23.Sa se verifice daca doua cuvinte se pot obtine unul din celalalt prin permutarea literelor. Ex. cuptor
si corupt au aceasta proprietate.
24.Pentru un text citit din fisierul FIS.IN, sa se scrie in fisierul HISTOGRAMA.OUT frecventa literelor din
text, adica pe cate un rand in fisier se va scrie litera urmata de atatea caractere * cat e numarul sau de
aparitii in text.
25.Se citeste un cuvant a cu cel mult 100 de litere. Sa se stearga toate perechile de cate 2 litere
alaturate identice. Daca prin stergere se obtin alte perechie de litere identice sa se stearga si acestea.
Exemplu: din cuvantul abbapxsiisxh se obtine ph (prin eliminari succesive:aapxssxh, pxxh si apoi ph )
26.Se citeste un numar natural n si apoi n cuvinte. Numarati cate dintre ele sunt anagrame ale primului
cuvant citit.
27.Se citesc doua cuvinte a si b avand cel mult 20 de litere fiecare. Determinati daca cuvantul b apare o
singura data in cuvantul a.
Exemple:
a="anamaria", b="ana" raspunsul este da
a="anamariana", b="ana" raspunsul este nu
a="amalia", b="ana" raspunsul este nu
28.Sa se scrie un program C/C++ care citeste de la tastatura un cuvnt format din cel mult 20 de
caractere, doar litere mici ale alfabetului englez. Programul determina transformarea cuvntului citit prin

nlocuirea fiecarei vocale a cuvntului, cu un sir format din doua caractere si anume vocala respectiva
urmata de litera mare corespunzatoare, restul literelor nemodificndu-se, ca n exemplu.
Exemplu: pentru cuvntul bacalaureat se va afisa pe ecran: baAcaAlaAuUreEaAt
29.Se citeste un cuvant c cu cel mult 20 de litere. Sa se elimine din cuvantul c toate aparitiile primei
litere.
Exemplu:
c="anamaria"
dupa prelucrare ramane "nmri"
30.Se citeste un numar natural n si apoi n cuvinte formate din cel mult 20 de litere fiecare. Sa se afiseze
cel mai lung cuvant care se poate forma cu doua cuvinte dintre cele citite.
Exemplu:
6
arici
iepure
cal
hipopotam
oaie
pastrav
Cel mai lung cuvant poate fi hipopotampastrav sau pastravhipopotam
31.Se citesc 3 cuvinte s, a si b, s avand cel mult 50 de litere, iar a si b avand acelasi cel mult 10 litere
fiecare. Inlocuiti in cuvantul s toate aparitiile lui a cu b.
Exemplu:
s="abracadabra"
a="bra"
b="12345"
va rezulta s="a12345cada12345"
32.Se citeste de la tastatura un cuvant cu cel putin una si cel mult 20 de litere ale alfabetului englez.
Construiti si afisati pe ecran cuvantul obtinut prin interschimbarea primei consoane cu ultima vocala din
cuvantul citit. In cazul in care cuvantul este format numai din vocale sau numai din consoane, afisati pe
ecran mesajul IMPOSIBIL. Se considera vocale literele a, e, i, o, u, A, E, I, O, U.
Exemplu: dac se citeste cuvantul Marmorat se va obtine si afisa cuvantul aarmorMt
33.Se citeste de la tastatura un text cu cel mult 100 de caractere (doar litere ale alfabetului englez si
spatii). Construiti si apoi afisati pe ecran sirul de caractere obtinut din sirul initial prin inserarea dupa
fiecare vocala a caracterului *. Se considera vocale literele a, e, i, o, u, A, E, I, O, U.
Daca textul citit nu contine vocale text se va afisa nemodificat.
Exemplu: dac se citeste textul "Examenul de bacalaureat" se va obtine si afisa:
"E*xa*me*nu*l de* ba*ca*la*u*re*a*t".
34.Se citeste de la tastatura un text cu cel mult 100 de caractere (doar litere mici ale alfabetului englez
si spatii) si un cuvant cu cel mult 15 caractere, doar litere mici ale alfabetului englez.
Afisati pe ecran sirul obtinut prin inserarea in textul initial a caracterului ? dupa fiecare aparitie a
cuvantului citit. Daca in text nu apare cuvantul citit, se va afisa mesajul NU APARE.
Exemplu: daca se citeate de la tastatura textul
examenului examenul de bacalaureat si examenul de atestat
si cuvantul examenul se va afisa:
examenului examenul? de bacalaureat si examenul? de atestat
35.Cititi de la tastatura, separate prin Enter, doua siruri de caractere:
- un sir s de maximum 256 de caractere, care pot fi litere ale alfabetului englez si spatii
- un sir c de maximum 21 de caractere (litere ale alfabetului englez).
Inlocuiti in sirul s toate aparitiile sirului c cu un sir de exact aceeasi lungime efectiva cu c, format doar
din caractere *, ca in exemplu. Sirul s obinut in urma acestei prelucrari va fi afisat pe ecran. In cazul n
care c nu apare n s, programul va afisa mesajul NU APARE.
Exemplu: daca sirul S citit este Din departare se vede tare iar c este tare
atunci pe ecran se va afisa: Din depar**** se vede ****
36.Se citesc din Date.in n cuvinte. Afisati-le in ordine crescatoare a lungimilor.
37.Fisierul litere.txt contine un text scris cu litere mari pe una sau mai multe linii. Se cere:
Sa se afiseze litera ( literele) care apare de cele mai multe ori;

38.Se citesc de la tastatura de pe randuri separate doua siruri de caractere s1 si s2.


Determinati de cate ori apare sirul s2 in sirul s1.
Exemplu s1=ana blandiana si mariana cosinzeana , s2=ana
rezultatul este 4

S-ar putea să vă placă și