Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

17.04.2013, 17:00. Просмотров 247. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу разобраться со строками (C++):

Ребяты помогите со строками чуток разобраться. - C++
Есть строка. В ней надо найти максимальное количество повторяющихся элементов. int main(){ char s = &quot;pen stolb nos avtobus stil...

Не могу разобратся со строками! - C++
После того как разделил строку на слова как мне вывести все слова с нужной мне буквой. Например: если в str нет буквы А то это слово не...

не могу разобраться.. - C++
Вывести на экран все натуральные числа из диапазона от A до B, в записи которых цифра 7 встречается ровно N раз. При отсутствии чисел с...

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

Не могу разобраться с qmake - C++
С помощью QtDesigner создал 2 файла gotocelldialog.ui и main.cpp в папке gotocell , запускаю: qmake -project появляется gotocell.pro ...

Не могу разобраться с алгоритмом - C++
Проанализируйте блок-схему алгоритма на рис.5. Определите, какое сообщение необходимо выводить вместо ??? На входе алгоритма: вводится...

2
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 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
Привет! Вот еще темы с ответами:

Указатель не могу разобраться - C++
Здравствуйте. есть строка к примеру tmp=int(TEMP.number2-48); а что значит tmp*=(int(TEMP.number1-48)); именно звездочка после...

не могу разобраться с ветвлением - C++
есть задача:Вычислить y = x4+7x2+10/x, для x с шагом h = 0.01. решение: #include &lt;iostream.h&gt; #include &lt;conio.h&gt; int main() { //...

посмотрите, не могу разобраться) - C++
#include &lt;iostream&gt; using namespace std; unsigned long int myFunc(unsigned long int x,unsigned long int y); int main() { ...

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


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

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

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