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

Удалить знаки пунктуации из строки - C++

Войти
Регистрация
Восстановить пароль
 
Savras
-1 / 2 / 1
Регистрация: 03.01.2013
Сообщений: 10
19.02.2013, 12:20     Удалить знаки пунктуации из строки #1
Все что вышло у меня.
C++
1
2
3
4
5
6
7
8
9
int main(){
    string str;
    getline(cin, str);
    for(string::size_type index=0; index!=str.size(); ++index){
        if(ispunct(str[index]))
            str[index]='';
        cout<<str[index];
    }
return 0;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 12:20     Удалить знаки пунктуации из строки
Посмотрите здесь:

C++ Удалить знаки препинания из строки
C++ Удалить все знаки "+" из массива char
Вывести на экран все знаки пунктуации. C++
C++ Вычеркните из строки все знаки препинания (с++)
C++ Заменить в файле все знаки "+" на знаки "-", а знаки "-" на знаки "+"
C++ Строки. Преобразовать строку, заменив в ней все восклицательные знаки точками
Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания C++
C++ Создать новые строки, содержащие цифры, буквы, а также знаки пунктуации, выбранные из введенной строки
Удалить из строки каждую пару символов '!?' и удалить некоторые символы C++
Удалить все знаки пунктуации C++
Как убрать знаки пунктуации? C++
Как обработать арифметические знаки из командной строки? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
19.02.2013, 12:56     Удалить знаки пунктуации из строки #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cstring>
 
int main() {
    const int buff = 250;
    char test[buff] = " ";
    std::cin.getline( test, buff );
    for( int i = 0; i < buff; i++) {
        if( ispunct( test[i] )) {
            std::cout << "";
        } else {
            std::cout << test[i];
        }
    }
    
    return 0;
}
Добавлено через 5 минут
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cstring>
#include <string>
 
int main() {
    const int buff = 250;
    std::string test;
    std::cin >> test;
    for( int i = 0; i < test.size(); i++) {
        if( ispunct( test[i] )) {
            std::cout << "";
        } else {
            std::cout << test[i];
        }
    }
    
    return 0;
}


Добавлено через 17 минут
Условие не так понял, исправил, но сделал через массивы
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cstring>
 
int main() {
    const int buff = 250;
    char test[buff] = " ";
    char val[buff] = " ";
    std::cin.getline( test, buff );
    int j = 0;
    for( int i = 0; i < buff; i++) {
        if( !(ispunct( test[i] ))) {
            val[j] = test[i];
            ++j;
        }
    }
    std::cout << val;
    return 0;
}
Savras
-1 / 2 / 1
Регистрация: 03.01.2013
Сообщений: 10
19.02.2013, 12:58  [ТС]     Удалить знаки пунктуации из строки #3
да мне нужно было чтоб с использованием string, но теперь разобрался, спасибо за подсказку
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
19.02.2013, 13:33     Удалить знаки пунктуации из строки #4
C++
1
str.erase(std::remove_if(str.begin(), str.end(), ispunct), str.end());
Yandex
Объявления
19.02.2013, 13:33     Удалить знаки пунктуации из строки
Ответ Создать тему
Опции темы

Текущее время: 21:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru