Va rog mult sa ma ajutati la aceste probleme. Rezolvare C++;
3.Se dă un șir de caractere ce conține litere mari, mici, cifre și spații. Să se
determine câte cifre distincte sunt în șir (o cifră nu se numără de mai multe
ori).
4. Se dă un șir de caractere ce conține litere mari, mici, cifre și spații. Să se
determine câte consoane, litere mici, sunt în șir.
5. Se dă un șir format din litere mici, mari, cifre, spatii și semne de punctuație
(,”:.). Determinați câte semne de punctuație are șirul.
6. Se dă un șir de caractere ce conține numai litere mici ale alfabetului englez.
Să se afișeze literele care apar de exact două ori în șirul dat.
Răspunsuri la întrebare
Răspuns:
3. #include <iostream>
#include <set>
using namespace std;
int main() {
string input;
cout << "Enter a string: ";
getline(cin, input);
set<char> digits;
for (char c : input) {
if (isdigit(c)) {
digits.insert(c);
}
}
cout << "Number of distinct digits: " << digits.size() << endl;
return 0;
}
4.
#include <iostream>
#include <cctype>
using namespace std;
bool isConsonant(char c) {
if (!isalpha(c)) {
return false;
}
c = tolower(c);
return c != 'a' && c != 'e' && c != 'i' && c != 'o' && c != 'u';
}
int main() {
string input;
cout << "Enter a string: ";
getline(cin, input);
int consonantCount = 0;
for (char c : input) {
if (isConsonant(c)) {
sentantCount++;
}
}
cout << "Number of consonants: " << sentantCount << endl;
return 0;
}
5.
#include <iostream>
#include <cctype>
using namespace std;
bool isPunctuation(char c) {
return c == ',' || c == '"' || c == ':' || c == '."'';
}
int main() {
string input;
cout << "Enter a string: ";
getline(cin, input);
int punctuationCount = 0;
for (char c : input) {
if (isPunctuation(c)) {
punctuationCount++;
}
}
cout << "Number of punctuation marks: " << punctuationCount << endl;
return 0;
}
6.
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
string input;
cout << "Enter a string: ";
cin >> input;
unordered_map<char, int> charCounts;
for (char c : input) {
charCounts[c]++;
}
cout << "Letters that appear exactly twice: ";
for (const auto& [c, count] : charCounts) {
if (count == 2) {
cout << c << " ";
}
}
cout << endl;
return 0;
}
Explicație: