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

Рандом с исключением - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ М-последовательности http://www.cyberforum.ru/cpp-beginners/thread392184.html
Доброе время суток! Подскажите пожалуйста кто может - как сформировать случайную последовательность нулей и единиц, с периодом , в которой 1023 символа. Заранее спасибо за внимание)
C++ Поиск и вывод слов начинающихся на 'l' {int i,j; char s,s1; cin.getline(s,255); for(i=0;i<255;i++) { if (s=='l') {j=i; while (s!=' ') {s1=s; i++; http://www.cyberforum.ru/cpp-beginners/thread392159.html
задачи в C++: Циклы. Одномерный массив C++
Задачи нужно решить на Microsoft Visual C++! Циклы. 1.Дано натуральное число n. Переставить местами первую и последнюю цифры этого числа. 2.Дано натуральное k. Напечатать k-ю цифру последовательности 149162536, в которой выписаны подряд квадраты всех натуральных чисел. Одномерный массив. 3. Даны натуральные числа M, n и целые числа a1; a2; ...; an. Все элементы массива разные....
Дано натуральное число.Определить,сколько раз в нём встречается минимальная цифра(например, для числа 102200 ответ равен 3,для числа 40330-2,для числ C++
Дано натуральное число.Определить,сколько раз в нём встречается минимальная цифра(например, для числа 102200 ответ равен 3,для числа 40330-2,для числа 10345-1)?
C++ Известны оценки по физике каждого ученика двух классов.Определить средниюю оценку в каждом классе.Количество учащихся в каждом классе одинаковое! http://www.cyberforum.ru/cpp-beginners/thread392146.html
Известны оценки по физике каждого ученика двух классов.Определить средниюю оценку в каждом классе.Количество учащихся в каждом классе одинаковое!
C++ Известен рост трех человек.Определить,одинаков ли их рост? Известен рост трех человек.Определить,одинаков ли их рост? подробнее

Показать сообщение отдельно
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
26.11.2011, 17:09     Рандом с исключением
Можно проще
Генерируем случайное число A - от 1 до 8
если получилось 1<=A<=2 то вернем его
если получилось 3<=A<=8 то вернем A+1

В этом случае не будет лишних вызовов rand()

Добавлено через 1 минуту
В общем случае
Пусть заданное число - это B
Генерируем случайное число A от 1 до N-1
Если A<B то вернем A
Если A>=B то вернем A+1
Очевидно что B мы никогда не вернем
 
Текущее время: 08:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru