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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
lex123456
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 13
#1

Удалить из строки все символы встречающиеся более одного раза - C++

13.05.2010, 03:03. Просмотров 2010. Ответов 2
Метки нет (Все метки)

ввести символьную строку удалить из строки все символы встречающиеся более одного раза
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <string.h>
#include <conio.h>
#include <iostream>
using namespace std;
 
int main()
{
   char *pStr;
  
   char str[]="abadb aaes fab";
   pStr = str;
      
   for(int i=0; str[i]; i++)
   {
   }
   cout<< pStr;
 
}
ввел строку вывел на экран. не могу понять как переменной присвоить значение первого символа чтобы сравнивать его в цикле с остальными символами.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2010, 03:03     Удалить из строки все символы встречающиеся более одного раза
Посмотрите здесь:

Удалить из файла все слова, встречающиеся более одного раза - C++
Найти в файле f все слова которые встречаются более одного раза выбросить их из файла f и получить новый файл q. Помогите пожалуйста.!!!

Выбрать все элементы массива встречающиеся более одного раза - C++
В массиве из n элементов выбрать без повторений все элементы, встречающиеся более одного раза.

Вывести все элементы массива, встречающиеся более одного раза - C++
Дана целочисленная последовательность (одномерный массив целых чисел). Написать программу нахождения количества различных элементов этой...

Исключить символы встречающиеся в предложении более 1 раза - C++
Написать прграмму в консоле, которая исключает символы встречающиеся в предложении более 1 раза

Удалить из строки s1 все символы, встречающиеся в строке s2. - C++
Удалить из строки s1 все символы, встречающиеся в строке s2 А вот здесь как подсчитать кол-во удаленных символов? Пробовал поставить в...

Удалить из строки все буквы, встречающиеся в строке более 2 раз - C++
Здравствуйте! Нужна помощь. Консольное приложение. Ввести символьную строку. Удалить из строки все буквы, встречающиеся в строке более...

Из произвольной строки символов удалить все повторно встречающиеся символы - C++
Составить подпрограмму, которая из произвольной строки символов удаляет все повторно встречающиеся символы. Выдает не то что надо ...

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

Вывести на экран все слова, встречающиеся более 1 раза - C++
Помогите пожалуйста, запуталась в циклах!!! (( Сама задача такова:Дана строка в ней не более 30 слов, в каждом слове не более 8 букв. Слова...

Удалить из массива все элементы, встречающиеся три раза - C++
Подскажите пожалуйста в чем ошибка последнего цикла. #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; /* Дан...

Удалить из массива все элементы, встречающиеся ровно два раза - C++
помогите, пожалуйста, как написать код в с++? Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся ровно...

Удалить из списка элементы с повторяющимися более одного раза значениями - C++
Здравствуйте! Помогите пожалуйста! Есть задание: Удалить из списка элементы с повторяющимися более одного раза значениями. ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rajd
44 / 22 / 1
Регистрация: 20.11.2008
Сообщений: 178
13.05.2010, 04:22     Удалить из строки все символы встречающиеся более одного раза #2
Решение не так уж и сложно. Я опишу алгоритм,

Не по теме:

а код с утра у меня плохо пишется, до сих пор не проснулся.



0 определяешь три доп переменные в одной будешь хранить символ в другой полученную строку а третья будет флагом.
1 делаешь два цикла для сортировки манного массива(строка ведь массив)
2 в первом цикле берешь символ из исходной строке и обнуляешь флаг.
3 во втором цикле делаешь прогон текущего символа по всем если хоть с одним совпадет то устанавливаешь флаг в истину.
4 после завершения второго цикла в первом если флаг ложен добавляем во вторую доп.переменную текущий символ.
5. начинаем следующую итерацию цикла.
6. завершаются все циклы печатаем вторую доп переменную.
Mr.X
Эксперт С++
3042 / 1687 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
13.05.2010, 16:38     Удалить из строки все символы встречающиеся более одного раза #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <string>
#include <iostream>
 
std::string  make_unique_chars(std::string s)
{   
    for(size_t i = 0; i < s.size(); ++i)
    {
        while(s.find(s[i]) < i)
        {
            s = s.erase(i, 1);
        }
    }
    return s;
}
 
int main()
{
    std::string s;
    for(;;)
    {
        std::cout << "Input string: "                  
                  << std::endl;        
        getline(std::cin, s);
        
        std::cout << std::endl         
                  << "Udaleny dublikaty symvolov: "
                  << std::endl
                  << make_unique_chars(s)
                  << std::endl
                  << std::endl
                  << std::endl;
    }
    return 0;
}
Yandex
Объявления
13.05.2010, 16:38     Удалить из строки все символы встречающиеся более одного раза
Ответ Создать тему
Опции темы

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