C/C++

Задание по С++

Задание 1. Есть некоторый текст. Используя стандартные
строковые функции из библиотеки языка C:
■ Найдите и замените вхождение некоторого слова на заданное пользователем слово.
■ Изменить текст таким образом, чтобы каждое предложение начиналось с большой буквы.
■ Посчитайте сколько раз каждая буква встречается в тексте.
■ Посчитайте сколько раз цифры встречаются в тексте.

Пожалуйста, помогите мне сделать реально работающий код для Visual Studio 2019.

Просьба, не копировать с Интернета и не использовать нейросеть!!!
Дима Дима
Дима Дима
67
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>

using namespace std;

int main()
{
// Ввод исходного текста и заменяемого слова
string text, word, replace;
cout << "Введите текст: ";
getline(cin, text);
cout << "Введите слово, которое нужно заменить: ";
cin >> word;
cout << "Введите слово, на которое нужно заменить: ";
cin >> replace;

// Найти и заменить вхождение слова
size_t pos = 0;
while ((pos = text.find(word, pos)) != string::npos)
{
text.replace(pos, word.length(), replace);
pos += replace.length();
}

// Изменить текст таким образом, чтобы каждое предложение начиналось с большой буквы
for (size_t i = 0; i < text.length(); i++)
{
if (i == 0 || text[i - 1] == '.' || text[i - 1] == '!' || text[i - 1] == '?')
{
text[i] = toupper(text[i]);
}
}

// Посчитать сколько раз каждая буква встречается в тексте
int letterCounts[26] = { 0 };
for (size_t i = 0; i < text.length(); i++)
{
if (isalpha(text[i]))
{
letterCounts[tolower(text[i]) - 'a']++;
}
}

// Вывести результат подсчета букв
cout << "Частота встречаемости букв:\n";
for (int i = 0; i < 26; i++)
{
if (letterCounts[i] > 0)
{
cout << (char)(i + 'a') << ": " << letterCounts[i] << endl;
}
}

// Посчитать сколько раз цифры встречаются в тексте
int digitCount = 0;
for (size_t i = 0; i < text.length(); i++)
{
if (isdigit(text[i]))
{
digitCount++;
}
}

// Вывести результат подсчета цифр
cout << "Количество цифр в тексте: " << digitCount << endl;

// Вывести измененный текст
cout << "Измененный текст: " << text << endl;

return 0;
}
Денис Кривошевский
Денис Кривошевский
4 208
Лучший ответ
Денис Кривошевский Рабочий код, не с инета