#include <iostream>
#include <string>
using namespace std;
string toLowercaseManual(const string& text) {
string result = text;
for (int i = 0; i < result.length(); ++i) { // Bucla for clasică
if (result[i] >= 'A' && result[i] <= 'Z') {
result[i] = result[i] + 32;
}
}
return result;
}
char findMostFrequentLowercase(const string& text) {
int counts[26] = {0};
for (int i = 0; i < text.length(); ++i) { // Bucla for clasică
if (text[i] >= 'a' && text[i] <= 'z') {
counts[text[i] - 'a']++;
}
}
char mostFrequentChar = 0;
int maxCount = 0;
for (int i = 0; i < 26; ++i) {
if (counts[i] > maxCount) {
maxCount = counts[i];
mostFrequentChar = 'a' + i;
}
}
return mostFrequentChar;
}
int main() {
string line;
string allText;
cout << "Introduceti textul (liniile se termina cu EOF sau linie goala):\n";
while (getline(cin, line)) {
if (line.empty()) {
break;
}
allText += toLowercaseManual(line);
}
char mostFrequent = findMostFrequentLowercase(allText);
if (mostFrequent) {
cout << "Litera mica cea mai frecventa este: " << mostFrequent << endl;
} else {
cout << "Nu au fost gasite litere mici." << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cmluZyB0b0xvd2VyY2FzZU1hbnVhbChjb25zdCBzdHJpbmcmIHRleHQpIHsKICAgIHN0cmluZyByZXN1bHQgPSB0ZXh0OwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoKCk7ICsraSkgeyAvLyBCdWNsYSBmb3IgY2xhc2ljxIMKICAgICAgICBpZiAocmVzdWx0W2ldID49ICdBJyAmJiByZXN1bHRbaV0gPD0gJ1onKSB7CiAgICAgICAgICAgIHJlc3VsdFtpXSA9IHJlc3VsdFtpXSArIDMyOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXN1bHQ7Cn0KCmNoYXIgZmluZE1vc3RGcmVxdWVudExvd2VyY2FzZShjb25zdCBzdHJpbmcmIHRleHQpIHsKICAgIGludCBjb3VudHNbMjZdID0gezB9OwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCB0ZXh0Lmxlbmd0aCgpOyArK2kpIHsgLy8gQnVjbGEgZm9yIGNsYXNpY8SDCiAgICAgICAgaWYgKHRleHRbaV0gPj0gJ2EnICYmIHRleHRbaV0gPD0gJ3onKSB7CiAgICAgICAgICAgIGNvdW50c1t0ZXh0W2ldIC0gJ2EnXSsrOwogICAgICAgIH0KICAgIH0KCiAgICBjaGFyIG1vc3RGcmVxdWVudENoYXIgPSAwOwogICAgaW50IG1heENvdW50ID0gMDsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IDI2OyArK2kpIHsKICAgICAgICBpZiAoY291bnRzW2ldID4gbWF4Q291bnQpIHsKICAgICAgICAgICAgbWF4Q291bnQgPSBjb3VudHNbaV07CiAgICAgICAgICAgIG1vc3RGcmVxdWVudENoYXIgPSAnYScgKyBpOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gbW9zdEZyZXF1ZW50Q2hhcjsKfQoKaW50IG1haW4oKSB7CiAgICBzdHJpbmcgbGluZTsKICAgIHN0cmluZyBhbGxUZXh0OwoKICAgIGNvdXQgPDwgIkludHJvZHVjZXRpIHRleHR1bCAobGluaWlsZSBzZSB0ZXJtaW5hIGN1IEVPRiBzYXUgbGluaWUgZ29hbGEpOlxuIjsKICAgIHdoaWxlIChnZXRsaW5lKGNpbiwgbGluZSkpIHsKICAgICAgICBpZiAobGluZS5lbXB0eSgpKSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBhbGxUZXh0ICs9IHRvTG93ZXJjYXNlTWFudWFsKGxpbmUpOwogICAgfQoKICAgIGNoYXIgbW9zdEZyZXF1ZW50ID0gZmluZE1vc3RGcmVxdWVudExvd2VyY2FzZShhbGxUZXh0KTsKCiAgICBpZiAobW9zdEZyZXF1ZW50KSB7CiAgICAgICAgY291dCA8PCAiTGl0ZXJhIG1pY2EgY2VhIG1haSBmcmVjdmVudGEgZXN0ZTogIiA8PCBtb3N0RnJlcXVlbnQgPDwgZW5kbDsKICAgIH0gZWxzZSB7CiAgICAgICAgY291dCA8PCAiTnUgYXUgZm9zdCBnYXNpdGUgbGl0ZXJlIG1pY2kuIiA8PCBlbmRsOwogICAgfQoKICAgIHJldHVybiAwOwp9
VEVYVCBDVSBMSVRFUkUgTUFSSQpBTFRBIExJTklFIENVIE1BSlVTQ1VMRQpTSSBJTkNBIFVOQQpmb2xvc2ltIGdldGxpbmUoY2luLCBsaW5lKSAmaWNpcmM7biBpbnRlcmlvcnVsIHVuZWkgYnVjbGUgd2hpbGUu
TEXT CU LITERE MARI
ALTA LINIE CU MAJUSCULE
SI INCA UNA
folosim getline(cin, line) în interiorul unei bucle while.