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

Оставить в слове первые вхождения каждой буквы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разложение sin(x) в ряд Тейлора http://www.cyberforum.ru/cpp-beginners/thread628046.html
Всем доброго время суток! Проверьте пожалуйста правильный ли следующий код : #include <cmath> #include <iostream> #include <cstdlib> using namespace std; double my_abs(double val) { double ret = val;
C++ Коварный map Доброго всем дня, уважаемые форумчане! Прошу прояснить следующий момент, почему при проходе по мапе теряется пара с ключом "4". Если флаг TExpiredNumberHandler стоит в true (на название класса прошу не обращать внимание): #include <iostream> #include <string> #include <map> #include <iterator> #include <utility> class TExpiredNumberHandler http://www.cyberforum.ru/cpp-beginners/thread628043.html
C++ Ошибка линкера
Здравствуйте!!! Подскажите пожалуйста почему возникают ошибки линкера? // main.cpp #include "parser.h" int main() { char prog_buff;
Как правильно организовать большой проект? C++
В будущем хочу участвовать в разработке игр - начал изучать С++, вопрос тут такой, как правильно организовать структуру достаточно большого проекта? в учебниках, с примерами в 1-2 файла все просто, но когда их становиться больше - я начинаю путатся. Например, пробую сделать примитивную 3Д модельку солнечной системы. есть некий базовый класс 3Д объекта, ответственный за перемещение и отрисовку...
C++ resize вектора векторов http://www.cyberforum.ru/cpp-beginners/thread627897.html
Необходимо удалить n элементов с конца вектора. В vector::erase необходимо передавать итератор. Т.к. итератора у меня нет, а есть конкретная цифра сколько нужно удалить, вродебы подходит функция vector::resize. Вопросы: 1. Если в векторе содержатся вектора, при использовании erase и resize они будут корректно удалены? Или произойдет утечка памяти? 2. Корректно ли использовать resize в моем...
C++ Не врубаюсь в работу деструктора Всем доброго времени суток. Не понимаю работу деструктора. Деструктор вроде как должен освобождать память от того что осталось после класса. Вот для примера код #include <iostream> using namespace std; class MyCl{ public: int mass; MyCl(); ~MyCl(); подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
24.07.2012, 15:39     Оставить в слове первые вхождения каждой буквы
Тоже самое что и выше только с использованием std::string. Сразу скажу что это вариант мне более по душе
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
#include <string>
#include <sstream>
#include <iostream>
using namespace std;
 
//ÔóГ*êöèÿ âîçâðГ*ГІГЁГІ ñëîâî ëèøü Г± 1-ГЄГ°Г*ГІГ*ûì âõîæäåГ*ГЁГҐГ¬ ГЎГіГЄГў
string getFirstAlphas(string word);
 
int main()
{
    system("chcp 1251");//ÏðîñòГ*Гї ðóññèôèêГ*öèÿ
    string text;//ГЃГіГґГґГҐГ° äëÿ ââîäèìîãî ГІГҐГЄГ±ГІГ*
    string word;//ГЃГіГґГґГҐГ° äëÿ ââîäèìîãî ñëîâГ*
    stringstream ss;//ÑòðèГ*ãïîòîê (ГІГ*êîé æå ïîòîê ââîäГ* ГЄГ*ГЄ ifstream
    //òîëüê î÷åðïГ*ГҐГІ Г®Г* Г¤Г*Г*Г*ûå Г*ГҐ ГЁГ§ ГґГ*éëГ* Г* Г± Г*Г*ГёГҐГ© ñòðîêè)
    cout<<"Ââåäèòå ГІГҐГЄГ±ГІ :\n";
    getline(cin,text);//Ââîäèì ГІГҐГЄГ±ГІ Г± ïðîáåëГ*ìè
    ss.str(text);//Г‡Г*ïèõèâГ*ГҐГ¬ Г*Г*Гё ГІГҐГЄГ±ГІ Гў ïîòîê
    while(ss>>word)//×åðïГ*ГҐГ¬ ГЇГ® ñëîâó ГЁГ§ ïîòîêГ*
        cout<<getFirstAlphas(word)<<" ";//ГЁ ГЇГҐГ·Г*ГІГ*ГҐГ¬ óæå ïðåîáðГ*çîâГ*Г*Г*ûå ñëîâГ*
    cout<<endl;
    system("pause");//Ñòîï-òî÷êГ*
    return 0;
}
 
string getFirstAlphas(string word)
{
    int i, j;
    for(i = 0    ; i < word.length(); i++)
    {
        //Ïîèñê ïîñëåäóþùèõ âõîæäåГ*ГЁГ© ГіГЄГ*Г§Г*Г*Г*îãî ñèìâîëГ* Гў ñòðîêó
        for(j = i + 1; j < word.length(); j++)
        {
            //Åñëè ïîâîòðГ*ûå âõîæäåГ*ГЁГї ГҐГ±ГІГј
            //ïðîñòî âûòèðГ*ГҐГ¬ ГЁГµ ГЁГ§ ñòðîêè 
            if(word[i] == word[j])
            {
                word.erase(j - 1, 1);
                j = j - 1;
            }
        }
    }
    return word;//ÂîçâðГ*Г№Г*ГҐГ¬ ïðåîáðГ*çîâГ*Г*Г*îå ñëîâî
}
Миниатюры
Оставить в слове первые вхождения каждой буквы  
 
Текущее время: 03:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru