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

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

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

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

29.12.2009, 18:05. Просмотров 554. Ответов 4
Метки нет (Все метки)

Не могу научиться мыслить на c++. Но старательно пытаюсь.... Если бы не традиционное "Завтра сдавать" вряд ли бы и спросил. В общем задача проста: Из заданного текста выбрать и напечатать те символы, которые встречаются в нем ровно один раз (в порядке в котором они встречаются в тексте).
Разобрался.
C++
1
2
3
4
5
6
7
8
9
int i,j,fl;
    char str[]="jhb sdjcnweofnlm wefoi-pokas lknlqkmwdqw";
    for(i=0;*(str+i)!=0;i++)
        {
            fl=0;
            for(j=0;*(str+j)!=0;j++)
                 if(*(str+i)==*(str+j) && i!=j)fl=1;
            if (!fl) cout << str[i];
                       }
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2009, 18:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Из заданного текста выбрать и напечатать те символы, которые встречаются в нем ровно один раз (C++):

Из заданного текста выбрать те символы, которые встречаются в нём ровно один раз - C++
Из заданного текста выбрать те символы, которые встречаются в нём ровно один раз. Вывести их в том же порядке, как они были в тексте.

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

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

Выбрать из файла те символы, которые встречаются в нем только один раз - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;algorithm&gt; #include &lt;string&gt; #include &lt;Windows.h&gt; using namespace std; ...

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
29.12.2009, 18:07 #2
Зачем вам класс для функции. Эту функцию можно объявить и пользоваться ей и без класса.
Например:
C++
1
2
3
4
5
6
7
void f()
{    
}
int main ()
{
    f();
}
Можно создать массив int, в котором по индексу хранить количество повторений символа. Например, символ 'a' это 97, вот и хранить по индексу 97 количество повторений 'a'. И так для всех символов.
А при выводе опять посимвольно смотреть строку и одновременно проверять, сколько раз он встречается, если 1, то вывести на экран, если нет, то с мотреть дальше.
xanser
0 / 0 / 0
Регистрация: 29.12.2009
Сообщений: 4
29.12.2009, 18:15  [ТС] #3
2qwert, требуют так оформлять. Интересная идея с массивом. Но в этой то задаче требуется вывести символы, которые встречаются только раз. А значит перебора двумя циклами будет достаточно. Вот если условие расширить до, например, выводить символы, которые встречаются ровно два раза или три, тогда да.
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
29.12.2009, 20:19 #4
В вашем решении гороздо больше просмотров в цикле, а в том решении, что предложил я 2 цикла и каждый по 1 просмотру. В более сложной задаче много просмотров в цикле не очень хорошо.
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
29.12.2009, 23:41 #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
xanser,

Из заданного текста выбрать и напечатать те символы, которые встречаются в нем ровно один раз (в порядке в котором они встречаются в тексте).

Вот без сохранения порядка (с сохранением - лень)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <string>
#include <algorithm>
#include <iostream>
#include <locale>
 
int main()
{
   setlocale(LC_ALL, "");
   std::string s = "jhb sdjcnweofnlm wefoi-pokas lknlqkmwdqw";
   std::sort(s.begin(), s.end());
   s.erase(std::unique(s.begin(), s.end()), s.end());
   std::cout << s << std::endl;
 
   return 0;
}
Проверка: http://codepad.org/HlE3Ag5o
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2009, 23:41
Привет! Вот еще темы с ответами:

Вывести только те слова сообщения, которые встречаются в нем ровно один раз - C++
Вывести только те слова сообщения, которые встречаются в нем ровно один раз. Помогите исправить ошибку в коде. #include &lt;iostream&gt; ...

Напечатать все слова , которые встречаются в исходной строке ровно один раз - C++
Дана производная строка, слова в которой разделены пробелами. Напечатать все слова , которые встречаются в исходной строке ровно один ...

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.12.2009, 23:41
Ответ Создать тему
Опции темы

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