
C/C++
Помогите решить задачу на С++ (мне не совсем ясен смысл задания)

Строка типа string s;
ввести строку с пробелами
значит
getline(cin,s);
потом нужно отследить букву "А".
Тут поможет конвертация в массив char после чего разбиваешь этот массив на отдельные буквы + заранее программно указываешь n кол-во символов . И потом циклом до n сравниваешь каждую букву из массива поочередно
ввести строку с пробелами
значит
getline(cin,s);
потом нужно отследить букву "А".
Тут поможет конвертация в массив char после чего разбиваешь этот массив на отдельные буквы + заранее программно указываешь n кол-во символов . И потом циклом до n сравниваешь каждую букву из массива поочередно
#include <algorithm>
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
string message(const size_t x) {
string msg;
switch (x % 10) {
case 2: case 3: case 4: msg = "раза"; break;
default: msg = "раз";
}
switch (x % 100) {
case 12: case 13: case 14: msg = "раз"; break;
}
return msg;
}
int main() {
system("chcp 1251 > nul");
cout << "ВВЕДИТЕ СТРОКУ: ";
string line;
getline(cin, line);
istringstream iss(line);
string word;
const char a = 'А';
while (iss >> word) {
auto n = count(word.begin(), word.end(), a);
if (n> 0) {
cout
<< "Слово " << '\"' << word << "\" содержит букву \""
<< a << "\" " << n << ' ' << message(n) << '\n';
}
}
system("pause > nul");
}
P.S. У меня-то русский язык в этом коде присутствует, а вот как будет у вас я не уверен в успехе. Кроме того C++ различает регистр букв и будет считать только заглавные буквы.
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
string message(const size_t x) {
string msg;
switch (x % 10) {
case 2: case 3: case 4: msg = "раза"; break;
default: msg = "раз";
}
switch (x % 100) {
case 12: case 13: case 14: msg = "раз"; break;
}
return msg;
}
int main() {
system("chcp 1251 > nul");
cout << "ВВЕДИТЕ СТРОКУ: ";
string line;
getline(cin, line);
istringstream iss(line);
string word;
const char a = 'А';
while (iss >> word) {
auto n = count(word.begin(), word.end(), a);
if (n> 0) {
cout
<< "Слово " << '\"' << word << "\" содержит букву \""
<< a << "\" " << n << ' ' << message(n) << '\n';
}
}
system("pause > nul");
}
P.S. У меня-то русский язык в этом коде присутствует, а вот как будет у вас я не уверен в успехе. Кроме того C++ различает регистр букв и будет считать только заглавные буквы.
ну так ты и спрашивай помочь понять задание... а не "решить"...
а то ты вместо того чтоб мозги включить, новые аккаунты тут создаёшь...
а то ты вместо того чтоб мозги включить, новые аккаунты тут создаёшь...
Похожие вопросы
- Помогите решить задачу по программированию на C++
- Помогите решить задачу по C++!
- Помогите решить задачу по программированию
- Помогите решить задачу пожалуйста, в C++
- Помогите решить задачу на c++
- Помогите решить задачу на С++, используя статические массивы
- Товарищи программисты,помогите решить задачу для 1 курса .
- Помогите решить задачу в С++
- Помогите решить задачу на С++
- Помогите решить задачу на C++