Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ekplayz
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 6
#1

Не могу разобраться со строками

17.04.2013, 17:00. Просмотров 270. Ответов 2
Метки нет (Все метки)

Вот задание:
Напишите программу поиска в строке знаков пунктуации. Программа должна позволить ввести символьную строку, содержащую знаки пунктуации, и вывести ту же строку но уже без знаков пунктуации.

Я написал программу которая подсчитывает знаки пунктуации, а вот как их удалить или скрыть из текста и потом его вывести я не до понимаю. Помогите разобраться.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using std::string;
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
  string s;
  string::size_type punct_cnt = 0;
  cin >> s;
  for (string::size_type ix = 0; ix != s.size(); ++ix)
    if (ispunct(s[ix]))
        ++punct_cnt;
  cout << punct_cnt << endl;
    return 0;
 
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2013, 17:00
Ответы с готовыми решениями:

Ребяты помогите со строками чуток разобраться.
Есть строка. В ней надо найти максимальное количество повторяющихся элементов....

Не могу разобратся со строками!
После того как разделил строку на слова как мне вывести все слова с нужной мне...

не могу разобраться..
Вывести на экран все натуральные числа из диапазона от A до B, в записи которых...

Не могу разобраться с С++
Всем Привет, так я кодеру в Делфи. Не давно нашел что мне нужно но оy написан...

не могу разобраться в функции
нашел в инете функцию добавление в список, но не могу разобраться что...

2
Croessmah
++Ͻ
14365 / 8147 / 1533
Регистрация: 27.09.2012
Сообщений: 20,083
Записей в блоге: 3
Завершенные тесты: 1
17.04.2013, 17:11 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
using std::string;
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
  string s;
  cin >> s;
  string::size_type punct_cnt = 0;
  for (string::size_type ix = 0; ix < s.size(); ++ix)
    if (ispunct(s[ix])){
        s.erase(ix,1);
          ++punct_cnt;--ix;
     }
  cout << punct_cnt << endl;
  return 0; 
}
Добавлено через 3 минуты
И вот такой вариант еще:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <algorithm>
using std::string;
using std::cin;
using std::cout;
using std::endl;
using std::remove_if;
 
int main(){
  string s;
  cin >> s;
  string::size_type punct_cnt = s.size();
  s.erase(remove_if(s.begin(),s.end(),ispunct),s.end());
  punct_cnt-=s.size();
  cout << punct_cnt << endl;
  cout<<s<<endl;
  return 0; 
}
0
ekplayz
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 6
17.04.2013, 17:27  [ТС] #3
В первом варианте после любого знака пунктуации удаляет следующие записи букв
а во втором пишет ошибку error: 'remove_if' was not declared in this scope
UPD. всё равно результат не тот получаеться. удаляеться строка после знака пунктуации

Добавлено через 6 минут
все разобрался
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2013, 17:27

Не могу разобраться с циклом
Надо сделать так, чтобы после выполнения программы, либо если юзер ввёл число...

не могу разобраться с инициализацией
Доброго времени суток форумчане. Есть простой вопрос, объясните мне как...

Не могу разобраться с программой
Я поступил в Колледж Вычислительной Техники и у нас началось программированиею...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru