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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Leff
0 / 0 / 0
Регистрация: 15.11.2010
Сообщений: 23
#1

Функция: удалить из строки все знаки препинания - C++

16.02.2011, 00:44. Просмотров 1166. Ответов 4
Метки нет (Все метки)

12. Написать функцию, которая удаляет из строки все знаки препинания. Заголовок функции: void deletePunct(char *s); Написать программу, которая принимает от пользователя набор строк (массив строк), удаляет из строк знаки препинания, выводит преобразованные строки на экран

Помогите, пожалуйста, начинающему, нет никаких идей, как это сделать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2011, 00:44     Функция: удалить из строки все знаки препинания
Посмотрите здесь:

C++ Удалить знаки препинания из строки
Текстовые файлы. Переписать в файл g все знаки препинания файла f. C++
Создать символьный файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания C++
Функция getline(). Как исключить знаки препинания (символы)? C++
C++ Задается произвольный текст. В тексте заменить все ТЧК, ЗПТ и другие сокращения на соответ-ствующие им знаки препинания
C++ Вычеркните из строки все знаки препинания (с++)
Удалить из строки все пробелы, расположенные перед знаком препинания C++
Удалить из строки все пробелы, расположенные перед знаком препинания C++
Удалить из строки все пробелы, расположенные перед знаком препинания C++
Отредактировать текст таким образом, чтобы все знаки препинания располагались в начале, за ним следовали цифры C++
C++ В строке заменить все знаки препинания на пробелы. Вывести результат
C++ Удалить все знаки препинания и пробельные символы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1920 / 1529 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
16.02.2011, 01:42     Функция: удалить из строки все знаки препинания #2
C
1
2
3
4
5
6
7
8
9
10
11
#include <string.h>
#include <ctype.h>
//...
void deletePunct(char *s)
{
    while(*s)
    {
        if( ispunct(*s) ) memmove(s, s+1, strlen(s));
        else ++s;
    }
}
Leff
0 / 0 / 0
Регистрация: 15.11.2010
Сообщений: 23
21.02.2011, 22:35  [ТС]     Функция: удалить из строки все знаки препинания #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<string.h>
using namespace std;
void delete_Punct(char *str);
int main()
{
char *str=new char[255];
cout<<"Enter string  ";
cin.getline(str,255);
delete_Punct(str);
getch();
}
void delete_Punct(char *str)
{
int j=0;char *s2=new char[255]; 
for (int i=0;i<strlen(str);i++)
if (! ispunct(str[i]))
{s2[j]=str[i];j++;}
cout <<"predlozenie bez znakop pripenanija  ";s2[j];
}
programu napisal,no vot otvet na ekran ona ve vivodit,ne podskazali bi vi v 4om ja o6ibsja
sandora
12 / 12 / 0
Регистрация: 10.02.2011
Сообщений: 42
22.02.2011, 15:46     Функция: удалить из строки все знаки препинания #4
Цитата Сообщение от Leff Посмотреть сообщение
cout <<"predlozenie bez znakop pripenanija ";s2[j];
}
cout <<"predlozenie bez znakop pripenanija "<<s2[j];
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
22.02.2011, 19:15     Функция: удалить из строки все знаки препинания #5
Leff,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<string.h>
 
using namespace std;
 
void delete_Punct(char *str);
 void main()
  {
    char *str=new char[255];
    cout<<"Enter string ";
    cin.getline(str,255);
    delete_Punct(str);
   getch();
  }
void delete_Punct(char *str)
{
bool flag;
char pun[7]="!,.;:?";
char *s2=new char[255]; 
cout<<"Result -> ";
 for (int i=0;i<strlen(str);i++)
 {
     flag=true;
     for(int j=0; j<strlen(pun); j++)
     {
         if(str[i]==pun[j])
         {
             flag=false;
              break;
         }
     }
   if (flag)
   {
      cout<<str[i];
   }
 }
 system("pause");
 }
Yandex
Объявления
22.02.2011, 19:15     Функция: удалить из строки все знаки препинания
Ответ Создать тему
Опции темы

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