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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 5.00
olbaid
Сообщений: n/a
#1

Функция, возвращающая х случайных, не равных друг другу, чисел из диапазона от y до z - C++

05.05.2007, 01:50. Просмотров 1809. Ответов 6
Метки нет (Все метки)

Нужна функция желательно на разных языках (С, С++, perl, php) которая бы возвращала х
случайных не равных друг другу чисел из диапазона от y до z.
Попытался сделать на Си но сразу столкнулся с проблемой, после компиляции любой rand
запоминается и выдает всегда одно и тоже число. например printf("%d\n", rand()%100); выдает всегда 41 =) сам rand я уже как только не пробовал использовать но всеравно после компиляции первое полученное число запоминаеться и при последующих запусках экзешника выдает одно и тоже число. Далее я не знаю как через return возвращать не 1 значение а N чисел.
Заранее премного благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2007, 01:50     Функция, возвращающая х случайных, не равных друг другу, чисел из диапазона от y до z
Посмотрите здесь:
Подсчет количества пар элементов, равных друг другу, в массиве C++
C++ Функция возвращающая последовательность чисел
Функция возвращающая большее из трёх чисел C++
C++ Функция, возвращающая количество простых чисел в массиве
Из заданного диапазона выбрать 5 случайных чисел C++
Формула для генерации случайных чисел заданного диапазона C++
C++ Составить функцию, которая возвращает N случайных неповторяющихся целых чисел из диапазона
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RZ_RZ
263 / 19 / 1
Регистрация: 26.05.2006
Сообщений: 150
05.05.2007, 13:09     Функция, возвращающая х случайных, не равных друг другу, чисел из диапазона от y до z #2
Там вроде перед первым вызовом РАНД надо вызвать random или randomize чета такое.
Alucard
1 / 1 / 1
Регистрация: 18.04.2007
Сообщений: 41
06.05.2007, 04:30     Функция, возвращающая х случайных, не равных друг другу, чисел из диапазона от y до z #3
В C и C++ Функция rand()%n сама по себе песевдо-случайная
Для того чтобы ее сделать случайной нужно подключить библеотеку <ctime>
и написать внутри главной функции srand((unsigned int)time(NULL));
Гость
Сообщений: n/a
06.05.2007, 11:23     Функция, возвращающая х случайных, не равных друг другу, чисел из диапазона от y до z #4
Ну эт не самая большая проблема была. Намного важней для меня как обращаясь к функции возвращать массив цифр.
Alucard
1 / 1 / 1
Регистрация: 18.04.2007
Сообщений: 41
07.05.2007, 02:26     Функция, возвращающая х случайных, не равных друг другу, чисел из диапазона от y до z #5
Создаёш функцию которая возвращает указатель, напреимер:
int*f()
{
int mas[10];
return mas;
//или return&mas[0]; в данном случае эфект будет один
}
а в mein()
{
int*mas;
mas=f();
если функция возвращает корректную запись то дальше работать как с обычным массивом
}
Гость
Сообщений: n/a
07.05.2007, 02:54     Функция, возвращающая х случайных, не равных друг другу, чисел из диапазона от y до z #6
Не получаться, да и хотелось бы чтоб просто функция просто вызывалась f(x,y,z) и соотвественно возвращала x чисел в диапазоне y z.
Как так сделать для возврата одного числа я знаю, а вот как для х чисел хз =(
НЕкто не знает чтоли как решить ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2007, 01:18     Функция, возвращающая х случайных, не равных друг другу, чисел из диапазона от y до z
Еще ссылки по теме:
Используя генератор случайных чисел заполнить два заданных массива числами из указанного диапазона C++
Два неприводимых друг к другу типа C++
Обращение двух классов друг к другу C++
C++ Поиск двух ближайших друг к другу точек
Заставить шарики одновременно двигаться навстречу друг другу C++

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

Или воспользуйтесь поиском по форуму:
Alucard
1 / 1 / 1
Регистрация: 18.04.2007
Сообщений: 41
08.05.2007, 01:18     Функция, возвращающая х случайных, не равных друг другу, чисел из диапазона от y до z #7
По условию f() и должна возвращать массив чисел.
я так понял
x-кол-во элементов
y,z - диапозон возврящаемых значений,
если так то в функции создаёш указатель на тип(например)int
int*m;
m=new int[x];
забиваеш его случайными числами из диапозона(y-z);
и возвращаеш его.
Иначе нужно передовать ссылку на готовый массив, тогда f(int&m,y,z);
и передовать ему так f(m[0],x,z);
или f(int*m,y,z);
и перкдовать так f(m,x,y);
сложного ничего нет
Yandex
Объявления
08.05.2007, 01:18     Функция, возвращающая х случайных, не равных друг другу, чисел из диапазона от y до z
Ответ Создать тему
Опции темы

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