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

просто интересуюсь - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как написать функцию c типом long double возвращаюшую тип shot? http://www.cyberforum.ru/cpp-beginners/thread451244.html
Мне бы какой нибудь тривиальный пример в Си. Спасибо:)
C++ Треугольники Доброй ночи\утро\день всем! Сразу прошу прощения, если такая тема уже есть - но совесть моя почти чиста - искала - и не нашла ничего похожего) В общем, нужна ваша помощь в решении следующей задачи:... http://www.cyberforum.ru/cpp-beginners/thread451231.html
Дано натуральное п (n 3). Получить vn. C++
Пусть u1=u2=0; v1=v2=1; ui=(ui-1 – ui-2vi-1 – vi-2)/(1+u2i-1+v2i-1); vi=(ui-1 – vi-1)/(ui-2+vi-1 +2), i=3, 4, … Дано натуральное п (n 3). Получить vn. Спасибо заранее.
Программа с использованием объектов типа стека или очередь на C. C++
Помогите пожалуйста с написанием. Программа с использованием объектов типа стека или очередь. На стандартный ввод программы поступают логические выражения из констант T(true) F(false), а также...
C++ Каррирование или карринг http://www.cyberforum.ru/cpp-beginners/thread451216.html
Определение с вики какое-то мутное, кто может объясните пожалуйста поподробнее - что это, для чего и когда применять.
C++ Принадлежность точки заштрихованной области создать программу, которая проверяет принадлежность точки заштрихованной области. помогите кому не трудно. http://s018.***********/i512/1202/d5/82b2190b05ec.png подробнее

Показать сообщение отдельно
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
23.02.2012, 09:09
Или так
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
#include <iostream>
#include <array>
#include <stdexcept>
 
const int MAX_RAND = 1e5;
 
int unique_rand( int max_rand )
{   
    if ( max_rand > MAX_RAND )
        return -1;
        
    static std::array< bool, MAX_RAND > arr;
    
    int res;    
        
    do
    {
        res = rand() % max_rand;
    } while ( arr[res] == true );
    
    arr[res] = true;
    
    return res;
}
 
int main()
{   
    for (int i = 0; i < 10; ++i)
    {
        std::cout << unique_rand( 10 ) << std::endl;
    }
}
Должно работать быстрее, чем вариант с сортировкой, но будет зацикливание, когда массив полностью заполнится, ну и просто может тормозить, если свободные числа заканчиваются.
Цитата Сообщение от Noxior Посмотреть сообщение
какую именно сортировку?
алгоритмов сортировок из stl много
Две всего.
std::sort и std::stable_sort
Первая быстрее, вторая стабильнее.
Ну и еще есть различные контейнеры вроде set'a и priority_queue, а также nth элемент, но это не совсем сортировка.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru