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

Заполнить массив размером 10 случайными числами от 0 до 10 - C++

Восстановить пароль Регистрация
 
VitekSR
0 / 1 / 0
Регистрация: 20.10.2013
Сообщений: 233
13.07.2014, 11:14     Заполнить массив размером 10 случайными числами от 0 до 10 #1
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 <vector>
#include <algorithm>
#include <iostream>
 
using namespace std;
 
int main()
{
    int n = 10;
    vector<int> a(n);
    int i;
 
    for (i = 0; i < n; i++)
        a[i] = rand() % n;
 
    sort(a.begin(), a.end());
 
    for (i = 0; i < n; i++)
        cout << a[i] << " ";
 
    system("pause");
    return 0;
}
Задача: Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по возрастанию и вывести в выходной поток.

Надо сделать: Данную задачу решить не используя метод sort, а используя STL контейнер: set.
Не понимаю этот set вообще!! Помогите
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2014, 11:14     Заполнить массив размером 10 случайными числами от 0 до 10
Посмотрите здесь:

Дан двумерный массив размером nхm, заполненный случайными числами. C++
Дан двумерный массив Х размером n*m, заполненный случайными числами. C++
C++ Прямоугольную матрицу размером м на н заполнить случайными положительными и отрицательными числами
C++ Заполнить массив случайными числами
STL Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по убыванию и вывести C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,159
Завершенные тесты: 1
13.07.2014, 13:01     Заполнить массив размером 10 случайными числами от 0 до 10 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <set>
#include <iostream>
using namespace std;
int main()
{
    set<int> a;
    const int n=10;
    for (int i = 0; i < n; i++)
        a.insert(rand() % 11);
    set<int>::iterator itb=a.begin();
    set<int>::iterator ite=a.end();
    for (;itb!=ite; ++itb)
        cout << *itb << " ";
    system("pause");
    return 0;
}
Nana
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 29
22.07.2014, 12:53     Заполнить массив размером 10 случайными числами от 0 до 10 #3
а как отсортировать по убыванию?
Sergio Leone
2446 / 1091 / 398
Регистрация: 07.06.2014
Сообщений: 3,240
22.07.2014, 13:17     Заполнить массив размером 10 случайными числами от 0 до 10 #4
Цитата Сообщение от Nana Посмотреть сообщение
а как отсортировать по убыванию?
просто в порядке бреда, а так не получится?
C++
1
2
for (;itb!=ite; --ite)
        cout << *ite << " ";
Nana
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 29
23.07.2014, 08:48     Заполнить массив размером 10 случайными числами от 0 до 10 #5
нет, так не получается
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,159
Завершенные тесты: 1
23.07.2014, 08:56     Заполнить массив размером 10 случайными числами от 0 до 10 #6
Sergio Leone, Есть обратный итератор
C++
1
2
3
4
set<int>::reverse_iterator itb=a.rbegin();
    set<int>::reverse_iterator ite=a.rend();
    for (;itb!=ite; ++itb)
        cout << *itb << " ";
Sergio Leone
23.07.2014, 09:17
  #7

Не по теме:

Цитата Сообщение от zss Посмотреть сообщение
Sergio Leone, Есть обратный итератор
Угу.

Извините, что влез в тему.
Я в ней ВООБЩЕ не компетентен. Попробовал просто по аналогии написать.
И сразу предупредил, что это может быть полный бред. К сожалению, так и вышло.
Попытка не удалась. Сорри...

Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11815 / 6794 / 769
Регистрация: 27.09.2012
Сообщений: 16,865
Записей в блоге: 2
Завершенные тесты: 1
23.07.2014, 12:51     Заполнить массив размером 10 случайными числами от 0 до 10 #8
Цитата Сообщение от Nana Посмотреть сообщение
а как отсортировать по убыванию?
Передать std::greater<int> в параметре шаблона или установить его днамически во время выполнения
http://ideone.com/1u9ea5
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11815 / 6794 / 769
Регистрация: 27.09.2012
Сообщений: 16,865
Записей в блоге: 2
Завершенные тесты: 1
23.07.2014, 13:02     Заполнить массив размером 10 случайными числами от 0 до 10 #10
Цитата Сообщение от Ilot Посмотреть сообщение
Croessmah
там вектор, тут нужен std::set:
Цитата Сообщение от VitekSR Посмотреть сообщение
Надо сделать: Данную задачу решить не используя метод sort, а используя STL контейнер: set.
Ilot
Модератор
Эксперт С++
1765 / 1140 / 221
Регистрация: 16.05.2013
Сообщений: 3,017
Записей в блоге: 5
Завершенные тесты: 1
23.07.2014, 13:12     Заполнить массив размером 10 случайными числами от 0 до 10 #11
Croessmah, пардоньте Я уже сам запутался с темами ТС. Должно быть так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <set>
#include <functional>
#include <cstdlib>
#include <ctime>
int main() {
    const int N = 10;
    std::set<int, std::greater<int>> coll;
    srand(time(NULL));
    while(coll.size() < N)
        coll.insert(rand() % N);
    for(auto& x: coll)
        std::cout << x << ' ';
    return 0;
}
А как установить динамически? Ведь по сути это преобразование типа...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2014, 13:57     Заполнить массив размером 10 случайными числами от 0 до 10
Еще ссылки по теме:

C++ Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по убыванию
C++ Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по возрастанию
C++ Дан двумерный массив размером мхн заполненный случайными числами

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11815 / 6794 / 769
Регистрация: 27.09.2012
Сообщений: 16,865
Записей в блоге: 2
Завершенные тесты: 1
23.07.2014, 13:57     Заполнить массив размером 10 случайными числами от 0 до 10 #12
Цитата Сообщение от Ilot Посмотреть сообщение
А как установить динамически? Ведь по сути это преобразование типа...
Например: http://ideone.com/TVLG5A
Yandex
Объявления
23.07.2014, 13:57     Заполнить массив размером 10 случайными числами от 0 до 10
Ответ Создать тему
Опции темы

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