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

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

Войти
Регистрация
Восстановить пароль
 
Сергей Мих
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 10
#1

Вводится некоторое количество чисел. ввод кончается 0. оставить только повторяющиеся числа - C++

01.04.2012, 12:21. Просмотров 618. Ответов 3
Метки нет (Все метки)

Вводится некоторое количество чисел. ввод кончается 0. выбросить все повторяющиеся числа

вот рабочая программа

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
#include <set>
#include <algorithm>
 #include <iostream>
 
using namespace std;
 
 
 
int main()
{set <int> s;
while (true)
  {int x; cin>>x;
   if (x==0) break;
   
   
   if(s.count(x)== 0)
     {cout<<x<<' ';
     s.insert(x);
     }
  }
 
 cin.get();cin.get();
   return 0;
}
___________________________________________________________________________
помогите изменить задачу под следующее условие: ОСТАВИТЬ ТОЛЬКО ПОВТОРЯЮЩИЕСЯ ЧИСЛА
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2012, 12:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вводится некоторое количество чисел. ввод кончается 0. оставить только повторяющиеся числа (C++):

Обрезание массива: оставить только положительные числа - C++
Здравствуйте, уважаемые пользователи форума. Недавно начал изучать программирование, и при решении одной задачи возникла проблема: есть...

Числа. Подсчитать количество четных и нечетных чисел- разрядов. Найти суммы только всех четных и только нечетных, проверить какая из сумм больше - C++
Добрый день, не могу понять как же составить программу для этой задачи без использования массивов. Запросить у пользователя...

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

Повторяющиеся числа из первого массива занести во второй массив только один раз - C++
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; int main(int argc, char* argv) { int...

Подсчитать количество символов в строке (строка кончается элементом 0) - C++
Подсчитать количество символов в строке(строка кончается элементом 0 : c =0 if (c=0) cout&lt;&lt;''end''&lt;&lt;end1:)

ввод только чисел - C++
Помогите отловить ненужные символы. void input_data(int number) // { if(number == 1) { }else if(number == 2) {

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
01.04.2012, 12:38 #2
Как бы это set <int> s сама по себе структура, выбрасывающая повторяющиеся числа. Если ты новичок и не знаком ещё с шаблонами и стандартной библиотекой, то совершенно зря решил задачу этим способом. Ты будущий программист! Тебе в первую очередь надо тренироваться писать основные простейшие алгоритмы: поиск, замена, нахождение суммы массива и.т.п.
Если вместо того, чтобы понять эти алгоритмы ты будешь использовать шаблонные готовые аналоги, ты ничему не научишься.

Где тебе эту задачу дали? В школе? Я не удивлён, что учитель заметил, что ты сделал не то, что он хотел и велел переделать, изменив условие.
0
Сергей Мих
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 10
01.04.2012, 12:55  [ТС] #3
подскажите, если не сложно
0
Konstantin_D
14 / 14 / 2
Регистрация: 21.07.2011
Сообщений: 89
01.04.2012, 13:46 #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
30
31
#include <list>
#include <algorithm>
#include <iostream>
using namespace std;
 
class A
{
    list<int>& lst;
public:
    explicit A(list<int> _lst): lst(_lst) {}
    bool operator()(int x);
};
bool A::operator()(int x)
{
    return count(lst.begin(), lst.end(), x) == 1;
}
 
int main()
{
    list<int> lst;
    int x;
 
    while( cin >> x && x != 0 )
        lst.push_back(x);
    
    lst.erase(remove_if(lst.begin(), lst.end(), A(lst)), lst.end());
 
    for (list<int>::iterator i = lst.begin(); i != lst.end(); ++i)
        cout << *i << " ";
    cout << endl;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2012, 13:46
Привет! Вот еще темы с ответами:

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

Ввод только целого числа - C++
Здравствуйте. Нужно сделать защиту от ввода букв, дробных чисел( 2.5) и цифр с запятой( 2,5) cin&gt;&gt;m; if (cin.fail()) { cout &lt;&lt;...

Ввод только чисел в cin>>value - C++
Доброго времени суток! Написал программу, которая считывает и выводит элементы массива... Всё просто, но на самом деле, мне бы чуть...

С клавиатуры вводится строка. Составить программу, которая подсчитывает количество чисел в тексте - C++
С клавиатуры вводится строка. Составить программу, которая подсчитывает количество чисел в тексте (не цифр, а именно чисел): выводит на...


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

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

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