Подсчитать сумму мест, на которых в словах текста стоит заданная буква.С++
Помогите пожалуйста с написанием программы на c++, второй день мучаюсь.
Подсчитать сумму мест, на которых в словах текста стоит заданная буква. Ввод предложения и символа должны быть с клавиатуры.
Суть в том, чтобы не просто посчитать количество букв в строке, а в том, чтобы посчитать сколько раз указанная буква стоит на каждой из позиций в слове.
К примеру: съешь ещё этих мягких французских булок, да ещё выпей чаю
если выбрать е то:
е упоминается:
на позиции 0 2 раза
на позиции 2 1 раз
на позиции 3 1 раз
и оформить это так:
[0]:2
[2]:1
[3]:1
Пробовал разные варианты, но каждый раз что-то не получается. Сейчас остановился на этом, но и тут есть проблемы (хотя по сути тут ещё ничего и нет):
#include <iostream>
#include <string>
using namespace std;
int main() {
setlocale(LC_ALL, "ru");
string x;
string c;
cin »x;
(cin »x).get();
cin »c;
(cin »c).get();
for (int i = 0; i < x.length(); i++) {
cout «x.find(c);
}
}
В общем ступор, плиз хелп.
Ответы (1 шт):
int s = 0;
for (int i = 0; i < x.length(); i++) if (x[i] == c) s += i;
// s - ответ на вопрос задачи