Удаление среднего символа с++

196
21 апреля 2018, 19:12

Здравствуйте. Поможет-ли кто-нибудь решить и подробно разобрать код и объяснить? По учебе задано. Текст задания: Дан текст, состоящий из нескольких предложений. Предложения оканчиваются точкой, восклицательным или вопросительным знаками. Из каждого предложения удалить средний символ, если длина предложения нечетна, и два средних символа, если длина четная.

Как я понял, тут надо считать Length до одного из знаков (.!?) и уже в каждом отрезке посчитать кол-во символов и удалить средние. Вот и не пойму, как реализовать. Заранее спасибо!

Answer 1
#include <iostream>
#include <cstring>
#include <signal.h>
#include <memory>
#include <string.h>
#include <string>
#include <vector>
int main(int argc, char** argv)
{
    std::string source = "Hello world ! My name is stackowerflow.";
    std::vector<std::string> tokens = {"!","?","."};
    for(std::string token : tokens){
        size_t pos = source.find(token);
        if( pos != std::string::npos){
            source.erase(pos/2,1);
        }
    }
    std::cout<<source<<std::endl;
    return 0;
}
READ ALSO
Шаблон в С++ (код)

Шаблон в С++ (код)

У меня есть кодПробовал найти в интернете, но не все понял

196
expression must have a constant value

expression must have a constant value

Ругается на BRICKSIZEx И BRICKSIZE

219
Visual Studio 2017 не выводит символы

Visual Studio 2017 не выводит символы

Пишу прогу на С++При запуске кода в консоли вместо символов знаки вопроса в квадрате

215
Сделать несколько replace

Сделать несколько replace

Есть строка, например <p:+79993333311@examplecom>, где +79993333311 это номер телефона, причем он может быть в разных форматах, предлагаю на этом не зацикливаться

211