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

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

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

Небольшая функция, удаляющая однаковые букви в слове - C++

29.11.2013, 00:25. Просмотров 260. Ответов 4
Метки нет (Все метки)

как написать функцию чтобы удаляло однаковые букви в слове?
C++
1
2
3
4
5
6
7
8
9
cout << "\n Введите ключовое слово : ";
    gets_s(kluch);//
    puts(kluch);
    int o=strlen(kluch);
    for(int i=0;i<o;i++)
    {
        alfEng[i]=kluch[tmp++];
        cout<< alfEng[i]<<" ";
    }
Добавлено через 2 минуты
например я введу PASSWORDD а должно мне записать PASWORD..как ето кусучок кода написать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 00:25     Небольшая функция, удаляющая однаковые букви в слове
Посмотрите здесь:
Функция, удаляющая все элементы в списке C++
Функция удаляющая из массива заданный элемент C++
C++ Функция, удаляющая элемент из двусвязного списка
C++ Функция, удаляющая элементы массива по критерию
Функция удаляющая элемент массива с заданным номером C++
Функция удаляющая первый узел из связного списка C++
Функция удаляющая пробелы в начале и в конце строки C++
Функция удаляющая первое и последнее вхождение в строке заданного символа C++
небольшая функция на c++ C++
Есть ли функция в библиотеке string.h, которая ищет в слове определенный символ? C++
C++ нужно убрать однаковые елементы в списке(есть код програмы) только нехватает удаления однаковых елементов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
D3fend0r
17 / 17 / 1
Регистрация: 14.09.2013
Сообщений: 37
29.11.2013, 10:24     Небольшая функция, удаляющая однаковые букви в слове #2
Вот например, работает только с заглавными буквами. Функция обходит все слово, если буква еше не попадалась добовляем ее к результату, в противном случае ничего не делаем.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
string Delete_Same_Letters(const string &str)
{
    int alphabet[26];
    string res;
    for (int i = 0; i < 26; i++)
    {
        alphabet[i] = 0;
    }
 
    for (char ch : str)
    {
        if (alphabet[ch - 65] == 0)
        {
            res += ch;
            alphabet[ch - 65] = 1;
        }
    }
    return res;
}
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.11.2013, 11:15     Небольшая функция, удаляющая однаковые букви в слове #3
Цитата Сообщение от andriyboss Посмотреть сообщение
как написать функцию чтобы удаляло однаковые букви в слове?
Просто все одинаковые (оставлять каждой буквы по одной) или подряд идущие одинаковые (оставлять одну из них)?
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
29.11.2013, 11:27     Небольшая функция, удаляющая однаковые букви в слове #4
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
#include <iostream>
#include <regex>
#include <string>
using namespace::std;
 
int main()
{ 
    string s="password";
    cout <<"s= "<<s<<endl;
    string result;
    smatch sm;
    while(regex_search(s,sm,regex("[\\w ]{2}")))
    {
        if(sm[0].str()[0]==sm[0].str()[1])
        {
            s=sm[0].str()[1]+sm.suffix().str();
        }
        else
        {
            result+=sm[0].str()[0];
            s=sm[0].str()[1]+sm.suffix().str();
        }
    }
    result+=s;
 
    cout <<"result= "<<result<<endl;
 
    return 0;
}
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,011
29.11.2013, 11:30     Небольшая функция, удаляющая однаковые букви в слове #5
Пример по ссылке: http://www.cplusplus.com/reference/algorithm/unique/
Yandex
Объявления
29.11.2013, 11:30     Небольшая функция, удаляющая однаковые букви в слове
Ответ Создать тему
Опции темы

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