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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
uemaka
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 33
#1

Удаление знаков препинания - C++

01.03.2014, 15:12. Просмотров 306. Ответов 1
Метки нет (Все метки)

Удалить в строке все знаки препинания.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
void main()
{   
    char str [100];
    gets(str);
    char p;
    for (int i=strlen(str); i>=0; i--)
    {
        if (str[i]==','|| str[i] == '?'||str[i] == '.')
            for(int j=i; j<strlen(str); j++)
               {p=str[j];
               str[j]=str[j+1];
               str[j+1]=p;}
    }
 
puts(str);
}
Смотрится код ка кто у меня глупо, как можно еще реализовать?
Видел есть вроде функ "int iswspace" которая проверяет, является ли символ пунктуацией, но как ей пользоваться я не знаю.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2014, 15:12     Удаление знаков препинания
Посмотрите здесь:

C++ Подсчет гласных.согласных,знаков препинания в тексте
C++ Расстановка знаков препинания
Подсчёт количества знаков препинания в строке C++
C++ Предложение, в котором больше всего знаков препинания
C++ Подсчитать количество знаков препинания в строке.
Дано предложение без знаков препинания C++
C++ Кол-во знаков препинания и букв в строке
C++ Определить количество знаков препинания в тексте
C++ Подсчитать количество знаков препинания в строке
C++ Подсчитать сколько знаков препинания в данной строке
C++ Найти количество знаков препинания в строке
Подсчитать количество содержащихся в строке знаков препинания C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
01.03.2014, 15:44     Удаление знаков препинания #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ну вообще, знаки препинания это не только запятая, точка и знак вопроса. Это всевозможные кавычки, скобки, слэши и прочее. Проще удалять всё, что не является буквой или цифрой

Добавлено через 8 минут
Если всё же так хочется использовать функцию "уже готовую", то
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <ctype.h>
int main ()
{
  int i=0;
  char str[] = "T,as.1?e>?\n";
  while (str[i])
  {
    if (!iswpunct(str[i]))
        putchar(str[i]);
    i++;
  }
}
вывод на экран не пунктуации
Yandex
Объявления
01.03.2014, 15:44     Удаление знаков препинания
Ответ Создать тему
Опции темы

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