Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 73
1

Проверьте, пожалуйста, почему erase() не работает

18.10.2013, 00:24. Показов 747. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
программа в целом работает, но мне нужно исключить все гласные буквы из текста,
в этом куске не удаляются элементы множества с кодом значения гласной буквы.
подскажите как удалить все гласные...

C++
1
2
3
4
5
6
7
8
    for(im=sm.begin(); im!=sm.end(); ++im) //удаление из множества всех гласных
    {
        for(i = 0; i < 5; i++)
        {
            if(vowels[i] == (int)*im)
                sm.erase(im);
        }
    }
Весь текст

Кликните здесь для просмотра всего текста
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <algorithm>
#include <fstream>
#include <stdio.h>
#include <cmath>
#include <set>
#include <iomanip>
#include <cstring>
#include <string>
#include <vector>
 
using namespace std;
 
int main()
{
    int n, i ,j, k, kol, m;
    int l = 0;
    set<int> st;
    set<int>::iterator in;
    multiset<int> sm;
    multiset<int>::iterator im;
    multiset<int> s;
    multiset<int>::iterator ik;
    int line_size;
    string line;
    int *sort1 = new int; 
    int vowels[5] = {(int)"a", (int)"e", (int)"i", (int)"o", (int)"u"};
 
 
    cout << "Please, enter text:" << endl; // заполнение класса string текстом
    getline(cin, line);
    line_size = line.size(); //количество элементов в string
    cout << "vvedeno simvolov: " << line_size << '\n';
    system("pause");
    
    
    for(int i=0; i <= line_size - 1; i++)
    {
        line[i] = tolower(line[i]); //понижение регистра букв, если такие присутствуют
        k=(int)line[i];
        s.insert(k);
    }   
 
    s.erase(32); //удаление пробелов из текста 32 - десятиричный пробел
 
    for(ik=s.begin(); ik!=s.end(); ++ik) //заполнение множества буквами, повторяющимися 2 и более раз
    {
        if(s.count((int)*ik) > 1)
        {
             n = (int)*ik;
             st.insert(n);
        }
 
        m = (int) *ik;
        sm.insert(m);
    }
    
    for(im=sm.begin(); im!=sm.end(); ++im) //удаление из множества всех гласных
    {
        for(i = 0; i < 5; i++)
        {
            if(vowels[i] == (int)*im)
                sm.erase(im);
        }
    }
    
    for(im=sm.begin(); im!=sm.end(); ++im)
        cout << (char)*im << " ";
    
    cout << '\n';
    system("pause");
 
    for(in=st.begin(); in!=st.end(); ++in) //вывод букв, встречающихся в тексте 2 и более раз
         cout << (char)*in << " ";
    
    return 0;
}


Добавлено через 1 час 7 минут
Только там в массиве не успел исправить " " на ' '

Добавлено через 6 минут
Тема закрыта, я разобрался
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2013, 00:24
Ответы с готовыми решениями:

Проверьте пожадуйста почему не работает
program vvod; var a:array of integer; m,n,i,j:integer; fin:TextFile; begin ...

Проверьте код, почему то не работает, вроде правильный
procedure TForm1.Button1Click(Sender: TObject); var a:array of integer; n,i,s,code:integer;...

Проверьте код. Почему то не работает (клиент-серверное приложение)
Что то не хочет работать... передаю картинку...делается скрин экрана в режиме постоянного времени....

Не работает удаление пробелов в строке! Подскажите пожалуйста, почему не работает?
Здравствуйте! Скажите пожалуйста, почему не работает данный код; должно брать строку, которую ввёл...

0
18.10.2013, 00:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2013, 00:24
Помогаю со студенческими работами здесь

Почему не работает код? Пожалуйста
using System; namespace ConsoleApp2 { class Program { public static void...

Подскажите, пожалуйста почему не работает
Добрый день. Подскажите пожалуйста как исправить ошибку. на сайте пишет что необходимо указать...

Объясните пожалуйста, почему не работает.
:@echo off :2 set /p a = call :1 %a% goto 2 :1 echo value = %1 goto:eof

Подскажите пожалуйста,почему не работает на другом ПК?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...

Ребята. пожалуйста разобраться, почему не работает
&lt;head&gt; &lt;title&gt;Интерактивный диктант&lt;/title&gt; &lt;link rel=&quot;STYLESHEET&quot; type=&quot;text/css&quot;...

Подскажите пожалуйста почему не работает кисть
Пытаюсь нарисовать текстуру и ничего не получается. Подскажите в чем моя ошибка. Спасибо!


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru