1.
Rezolvare:
Codul parcurge șirul s și aplică următoarele reguli:
Dacă un caracter este e, se afișează *.
Altfel, se afișează e urmat de acel caracter.
Observăm că secvența de ieșire conține e înainte de fiecare literă (exceptând e, care e înlocuit cu
*). Dacă eliminăm aceste e-uri și înlocuim * cu e, obținem șirul inițial.
Deci, s = "ideal".
2.
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char s[100];
cin >> s;
int i = 0, j = 0;
while (s[i] != '\0') {
if (!(s[i] >= 'a' && s[i] <= 'z')) {
s[j] = s[i];
j++;
i++;
s[j] = '\0';
cout << s;
return 0;
}
3. #include <iostream>
#include <cstring>
using namespace std;
int main() {
char s[100];
cin >> s;
int i = 0, j = strlen(s) - 1;
while (i < j) {
swap(s[i], s[j]);
i++;
j--;
cout << s;
return 0;
4.
strcpy(s+2, s+4) copiază începând de la s[4] ('e') peste s[2].
Șirul devine "abefghgh", dar cu un singur gh deoarece strcpy copiază și '\0'.
Se afișează "abefgh 6".
5. x = "efg" (copiază de la s[4]).
s = "abcd123" (înlocuiește s+4 cu "123").
strcat(s, x) => s = "abcd123efg".
6.
Programul elimină caracterele duplicate consecutive:
"abbacdde" → "abacdde" → "abacd"
Afișare: abacd.
7. Programul elimină caracterele duplicate consecutive:
"abbacdde" → "abacdde" → "abacd"
Afișare: abacd.
8.
Rezolvare:
Lungimea inițială a lui s este 11.
Se înlocuiesc toate vocalele cu *.
Șirul rezultat: *"nfrmtc"**.
Se afișează: 11 *nf*rm*t*c*.
9.
rezolvare:
Se elimină vocalele a, e, o, i.
Șirul rezultat: "bcdfghd".
Se afișează: 11 bcdfghd.
10.
Rezolvare:
Se elimină caracterele care sunt identice pe poziții simetrice.
s = "abcduecda" → "bcduca".
Se afișează: 9 bcduca.
Problema 11 - 20
Problema 11: Se elimină toate vocalele dintr-un șir de caractere. Problema 12: Se transformă
toate literele mici în litere mari. Problema 13: Se elimină ultima consoană dintr-un șir.
Problema 14: Se verifică dacă un șir este palindrom. Problema 15: Se sortează cuvintele dintr-o
propoziție în ordine alfabetică. Problema 16: Se determină cel mai lung sufix comun al două
șiruri. Problema 17: Se înlocuiesc vocalele mici cu echivalentele lor mari. Problema 18: Se
elimină toate cifrele dintr-un text și se convertesc literele în mici. Problema 19: Se afișează toate
prefixele unui cuvânt care încep cu o vocală. Problema 20: Se elimină toate aparițiile unei
singure vocale dintr-un șir.