Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/59: Рейтинг темы: голосов - 59, средняя оценка - 4.97
 Аватар для Slimp
1 / 1 / 0
Регистрация: 09.06.2009
Сообщений: 6

Random в заданых параметрах как сделать?

09.06.2009, 01:44. Показов 11424. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
l=rand() % 40;
а как сделать допустим от -40 до 40?
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.06.2009, 01:44
Ответы с готовыми решениями:

Как сделать Random в Android-приложении? (XE8)
всем здрасте, проблема такая... вот подключенные библиотеки #include <iostream> #include <fmx.h> #pragma hdrstop ...

Как сделать, чтобы random работал в нескольких диапазонах?
Нужно отобразить в одном массиве цифры и буквы в случайном порядке и потом использывать группировку элементов массива. Уже на первом...

Как сделать Random более случайным не прибегая к паузе?
Вот код, меня в принципе все устраивает, но можно ли сделать как-нибудь без пауз или переместить, ибо при 500 опытах(num=500) работает чуть...

18
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
09.06.2009, 02:03
если то, что ты написал выше это от 0 до 39, то от -40 до 40:
-40+(rand()%81)
0
 Аватар для Slimp
1 / 1 / 0
Регистрация: 09.06.2009
Сообщений: 6
09.06.2009, 02:12  [ТС]
твое решение не помогло тупо виснит =(((
ну вобще у меня код такой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void __fastcall TForm1::FormCreate(TObject *Sender)
{
randomize();
a=rand() % 40;
 
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
i = false;
 
 
b=a-4;
c=a+4;
 
while(i == false)
{
l=rand() % 40;
 
if (b<l && l<c) i=true;
}
Label2->Caption=l;
a = l;
мне надо чтоб хотя б первое значение выдввал от -40 до 40 )
0
49 / 49 / 4
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 02:15
Slimp, rand()%40-rand()%40;
1
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
09.06.2009, 02:21
Если у тебя виснет этот код, то смотри ошибку не в нем, а в своем коде.
C
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    int i = 0;
    srand(4);
    while(i<10)
    {
        printf("%d  ", (-40+rand()%81));
        i++;
    }
    return 0;
}
Нормально работает:
[Vourhey@Vhost C]$ ./a.out
39 -26 24 -14 30 9 29 27 19 7
Ищи ошибку.
0
 Аватар для Slimp
1 / 1 / 0
Регистрация: 09.06.2009
Сообщений: 6
09.06.2009, 02:21  [ТС]
хммм...спс токо я чуть подругому сделал -))
C++
1
2
3
4
randomize();
p=rand()%30;
e=-rand()%40;
a=p+e;
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
09.06.2009, 02:26
два раза rand вызывать для такого расчета, это сильно. Все лучше, чем ничего

Добавлено через 1 минуту 49 секунд
Только вот не пойму, как тут может, например, 35 получиться.
0
 Аватар для mirso
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
09.06.2009, 02:33
Slimp,
int x = 40 - random(81) ;
0
49 / 49 / 4
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 02:34
Slimp, ефективней использовать -40+rand()%81 , как написал Vourhey. Оно должно работать...
0
 Аватар для Slimp
1 / 1 / 0
Регистрация: 09.06.2009
Сообщений: 6
09.06.2009, 02:37  [ТС]
C++
1
2
3
int a;
randomize();
a=rand() % 10 - rand() % 40;
у меня тупо виснит когда значение >0 может не интеджер класс?
а 35 легко первое значение 37 второе 2)

Добавлено через 3 минуты 14 секунд
C++
1
2
int a;
a=40-rand() % 81;
блин то ле у мну ошибка что при - виснит то ли я что то не то делаю хД
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
09.06.2009, 02:38
p=rand()%30;
и как у тебя тут будет 37?
0
49 / 49 / 4
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 02:42
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void __fastcall TForm1::FormCreate(TObject *Sender)
{
randomize();
a=-40+rand() % 81;
 
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
i = false;
 
 
b=a-4;
c=a+4;
 
while(i == false)
{
l=-40+rand() % 81;
 
if (b<l && l<c) i=true;
}
Label2->Caption=l;
a = l;
Так не идет?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
09.06.2009, 02:43
Что значит "виснит"? на какой строке? поставь брейкпойнт. Может, у тебя там где бесконечный цикл получается:
C++
1
2
3
4
5
6
while(i == false)
{
l=rand() % 40;
 
if (b<l && l<c) i=true;
}
Да, ошибка у тебя где-то. А не в 40-rand()%81.

Добавлено через 51 секунду
Вообще, все фигня. Займись отладкой.
0
49 / 49 / 4
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 02:45
Vourhey, Оно чисто теоретически не может висеть от замены rand() % 40-rand() % 40; на -40+rand() % 81;
1
 Аватар для Slimp
1 / 1 / 0
Регистрация: 09.06.2009
Сообщений: 6
09.06.2009, 02:49  [ТС]
C++
1
if (b<l && l<c) i=true
да ошибка сдесь =)

Добавлено через 39 секунд
Не там зацикливание происходит когда - получается =)))
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
09.06.2009, 02:52
Цитата Сообщение от ZVolodumur Посмотреть сообщение
Vourhey, Оно чисто теоретически не может висеть от замены rand() % 40-rand() % 40; на -40+rand() % 81;
А где я написал, что оно висит от замены?
0
49 / 49 / 4
Регистрация: 21.05.2009
Сообщений: 156
09.06.2009, 02:53
Vourhey, Это Slimp писал что у него висит от -40+rand() % 81; а с rand() % 40-rand() % 40; работает нормально...
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
09.06.2009, 02:58
Я в курсе, что не может. Но если у человека висит, че ж теперь делать поэтому и порекомендовал ему свой код отладить.
0
 Аватар для Slimp
1 / 1 / 0
Регистрация: 09.06.2009
Сообщений: 6
09.06.2009, 02:59  [ТС]
Все всем спасиюо сделал =)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.06.2009, 02:59
Помогаю со студенческими работами здесь

Как сделать, чтобы случайные значения заданные методом Random не повторялись?
Как сделать,чтобы случайные значения не повторялись?

Как сделать так чтобы программа сама смешивала правильные ответы и задания теста с пользоваться функцией random!
Нужно чтобы программы с помощью функции random автоматически при запуске смешивала все вопросы в разном порядке, а так же их ответы в...

Random, позволяющий сделать разную выборку
Я знаю как пользоваться функцией Random, интересует как сделать, так чтобы 80% выборки после применения этой функции лежали в...

Что не так с 'Random' или There is no overloaded version of 'Random' that can be called with these arguments
Доброго времени суток! Я с программированием на &quot;Вы&quot;, поэтому очень прошу доходчиво объяснить, что не так с этой строчкой? Выводит ошибку:...

У меня непонятки с методами Math.random() и Random()
Задача : заполнить массив из 15 элементов случайным образом вещественными значениями х (-5 &lt;= x &lt;= 5) class Massiv { ...


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

Или воспользуйтесь поиском по форуму:
19
Закрытая тема Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru