Как сделать и вывести срез строки(String) C/C++? Пишу программу, которая считывает текст и выводит построчно предложения.
Как сделать срез из text с NumberArrayString-го по i-й элемент ?int NumberArrayString = 0;
int NumberString = 0;
std::string text = {};
getline(std::cin, text);
printf("%d", text.size());
for (int i = 0; i < (text.size()); i++)
{
if ((text[i] == '.') || (text[i] == '!') || (text[i] == '?'))
{
NumberString++;
std::cout << NumberString << "-я строка: " << ???????????????????? <

21 Авг 2019 в 06:24
380 +1
1
Ответы
1

Для того чтобы вывести срез строки от NumberArrayString-го до i-го элемента, можно воспользоваться методом substr() класса std::string.

В данном случае, вы можете использовать следующий код:

for (int i = 0; i < (text.size()); i++)
{
if ((text[i] == '.') || (text[i] == '!') || (text[i] == '?'))
{
NumberString++;
std::string subString = text.substr(NumberArrayString, i - NumberArrayString + 1);
std::cout << NumberString << "-я строка: " << subString << std::endl;
NumberArrayString = i + 1;
}
}

Здесь метод substr() принимает два параметра: начальную позицию и количество символов, которые нужно взять из исходной строки. Вычитая NumberArrayString из i и прибавляя 1, мы получаем длину среза.

Теперь вы можете использовать subString для вывода подстроки на экран.

20 Апр 2024 в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир