Форум программистов, компьютерный форум CyberForum.ru

Удалить из строки все пробелы, расположенные перед знаком препинания - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не подключается stringstream в проект http://www.cyberforum.ru/cpp-beginners/thread1156574.html
Здравствуйте, у меня есть небольшой проект к которому подключено несколько сторонних библиотек. Сам проект разбит на 13 файлов, в каждом из них есть несколько подключеных библиотек. В заголовочных файлах везде #pragma once. Проблема в том что когда я хочу использовать в любом из файлов проекта stringstream, у меня Visual Studio начинает выдавать странные ошибки. Тоесть если я только включаю файл...
C++ Перегрузка функций - улучшить код Решил сделать перегрузку функций, что то не могу сделать лучше подскажите как можно сделать лучше или помогите здесь, вернуть значение массива в место вызова Буду очень благодарен class.h class pluar http://www.cyberforum.ru/cpp-beginners/thread1156570.html
C++ Потоки с стандарте C++ 11. Отсутствуют экземпляры конструктора, соответствующие списку аргументов
Tvector.push_back(thread(threadFunction,mas,i,3,4,76,55)); сама функция void threadFunction(int *arr, int b,int c , int z,int q,int r) { g_lock.lock(); cout << arr+1<<c<<z<<q<<endl; cout << "entered thread " << std::this_thread::get_id() << std::endl; g_lock.unlock();
Нахождение стоков и истоков в графе по матрице смежности C++
Доброго времени суток, Гуру). Решаю задачки из http://informatics.mccme.ru/moodle/ проблема в том, что я не могу сдать следующую задачу: Напомним, что вершина ориентированного графа называется истоком, если в нее не входит ни одно ребро и стоком, если из нее не выходит ни одного ребра. Ориентированный граф задан матрицей смежности. Найдите все вершины графа, которые являются истоками, и все его...
C++ Метод Йордана-Гаусса. Как изменяется обратная матрица в силу таких преобразований? http://www.cyberforum.ru/cpp-beginners/thread1156556.html
Выше описанным методом требуется найти определитель. Ведущий элемент выбирается максимальный . (Те максимальный элемент перебирается в левый верхний угол) как изменяется обратная матрица в силу таких преобразований ?(переестановки строк и столбцов) Добавлено через 6 минут Оооой определитель говорю обратную матрицу
C++ Работа с сетью, работа с БД и парсинг информации. Разделение потоков Возникла проблема разграничения потоков. То есть в конечном файле реализованы алгоритмы: работа с сетью, работа с БД и парсинг информации. Преподаватель сказал, что категорически запрещается, чтобы всё это работало в одном потоке. Необходимо сделать в разных. Помогите, пожалуйста кто чем сможет, очень срочно, до субботы(26.04) нужно сделать. Это код главного файла MainWindow: #include... подробнее

Показать сообщение отдельно
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 201
25.04.2014, 11:37     Удалить из строки все пробелы, расположенные перед знаком препинания
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <string>
#include <iostream>
 
bool isPunctuation(char ch)
{
    std::string str;
    str = ch;
    return (str.find_first_of(".,!?[]\"") != std::string::npos);
}
 
int main()
{
    std::string str = "asdsad , asdsdsd . ";
    size_t pos = str.find(" ");
    while(pos != std::string::npos) {
        if((pos + 1) < str.length()){
            if(isPunctuation(str[pos + 1])) {
                str.erase(pos, 1);
            }
        }
        pos = str.find(" ", pos + 1, 1);
    }
}
Добавлено через 4 минуты
или так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <string>
#include <iostream>
 
int main()
{
    std::string str = "asdsad , asdsdsd . ";
    std::string punctuation = (".,!?[]\"");
    size_t pos = str.find_first_of(punctuation);
    while(pos != std::string::npos) {
        if(pos > 0) {
            if(str[pos - 1] == ' ') {
                str.erase(pos - 1, 1);
            }
        }
        pos = str.find_first_of(punctuation.c_str(), pos + 1, 1);
    }
}
 
Текущее время: 21:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru