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

Множества - C++

Восстановить пароль Регистрация
 
starter2012
0 / 0 / 0
Регистрация: 16.12.2012
Сообщений: 11
18.02.2013, 20:48     Множества #1
Составить программу, возвращающую множество, за-
данное некоторой последовательностью произвольных чи-
сел натурального ряда, вводимых с клавиатуры. Например:
А1 = { 1 , 3, 17, 9, 8, ...}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
18.02.2013, 21:18     Множества #2
Ну вот, к примеру)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
 
using namespace std;
 
int main()
{   
    cout << "input capacity of set: ";
 
    size_t capacity;
    cin >> capacity;
 
    vector<int> set(capacity);
 
    cout << "input " << capacity << " numbers:" << endl;
    for( int i = 0; i < capacity; i++ ) {       
        cin >> set[i];
    }
 
    cout << "your set: " << endl;
    for( int i = 0; i < capacity; i++ ) cout << set[i] << " ";
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
18.02.2013, 21:46     Множества #3
ITcrusader, как просто, а как насчет проверки на уникальность элементов?
это же множество.
Avazart
 Аватар для Avazart
6904 / 5144 / 253
Регистрация: 10.12.2010
Сообщений: 22,621
Записей в блоге: 17
18.02.2013, 22:03     Множества #4
Цитата Сообщение от EvGeN Посмотреть сообщение
это же множество.
А как же мультимножества ?

Тут вообще не понятно кого требую решения...
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
18.02.2013, 22:08     Множества #5
Да, замечание справедливое. По определению, множество (мат.) не содержит дубликатов.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <set>
 
using namespace std;
 
int main()
{   
    cout << "What number of values do you want to input?" << endl;
    size_t capacity;
    cin >> capacity;
 
    cout << "input " << capacity << " numbers:" << endl;
    set<unsigned int> theSet;
    for( int i = 0; i < capacity; i++ ) {
        unsigned int value;
        cin >> value;
        theSet.insert( value );
    }
 
    cout << "your set: " << endl;
    for( set<unsigned int>:: const_iterator i = theSet.begin(); i != theSet.end(); i++ ) 
        cout << *i << " ";
}
Можно было, конеш, unique заюзать для первого варианта, ну да ладно
Avazart
 Аватар для Avazart
6904 / 5144 / 253
Регистрация: 10.12.2010
Сообщений: 22,621
Записей в блоге: 17
18.02.2013, 22:13     Множества #6
Цитата Сообщение от ITcrusader Посмотреть сообщение
Можно было, конеш, unique заюзать для первого варианта, ну да ладно
Можно было сходу юзать std::set<>

Кстати для вектора нужно было сначала sort() заюзать и только потом unique()
Yandex
Объявления
18.02.2013, 22:13     Множества
Ответ Создать тему
Опции темы

Текущее время: 10:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru