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

удаляет все знаки препинания - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Leff
0 / 0 / 0
Регистрация: 15.11.2010
Сообщений: 23
16.02.2011, 00:44     удаляет все знаки препинания #1
12. Написать функцию, которая удаляет из строки все знаки препинания. Заголовок функции: void deletePunct(char *s); Написать программу, которая принимает от пользователя набор строк (массив строк), удаляет из строк знаки препинания, выводит преобразованные строки на экран

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

Ввести строку вывести каждое слово из этой строки с кол-ом повторений этого слова учитывая все знаки препинания... C++
Текстовые файлы. Переписать в файл g все знаки препинания файла f. C++
Создать символьный файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания C++
C++ Задается произвольный текст. В тексте заменить все ТЧК, ЗПТ и другие сокращения на соответ-ствующие им знаки препинания
C++ Вычеркните из строки все знаки препинания (с++)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
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
#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     удаляет все знаки препинания
Ответ Создать тему
Опции темы

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