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

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

Войти
Регистрация
Восстановить пароль
 
Zoger
3 / 3 / 0
Регистрация: 10.10.2010
Сообщений: 68
#1

Генератор случайных чисел - C++

12.05.2013, 12:29. Просмотров 858. Ответов 4
Метки нет (Все метки)

Всем привет, вот такая задачка. "Датчики случайных чисел можно привлекать при подборе проверочных исходных данных для программ.
а) 25 действительных чисел, лежащих в диапазоне от -50 до 50.
б) 30 целых чисел, лежащих в диапазоне от -20 до 20.

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
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
int main()
{
   int n;
   double m;
   srand(time(NULL));
 
   cout << "a) \n";
   for(int i = 0; i < 25; i++)
   {
   m = 0.49 * (rand() % 101);
   cout << m << endl;
   }
 
   cout << "b) \n";
   for(int i = 0; i < 30; i++)
   {
      n = -20 + rand() % 41;
      cout << n << endl;
   }
   system ("PAUSE");
   return 0;
}
пункт "б" получился, но вот в пункте "а" никак не получается реализовать диапазон от -50 до 50. Смог получит что-то вроде от 0 до 50 но вот с минусом никак. ):
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 12:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Генератор случайных чисел (C++):

Генератор случайных чисел - C++
Вот написал программу, которая генерирует матрицу 9*9. В каждой строке - от 1 до 9, не повторяются В каждом стобце - то же самое. ...

Генератор случайных чисел (с UI) - C++
Я создал простенький генератор случайных чисел с Пользовательским Интерфейсом (GUI). Добавлено через 21 минуту Актуальна :)

Генератор случайных чисел - C++
Помогите написать программу, которая генерировала бы случайные числа мультипликативным конгруэнтным методом. Нужно использовать такое...

генератор случайных чисел - C++
как реализовать генератор случайных чисел? чтобы можно было вводить два числа(например 56 и 519), и случайное число генерировалось из...

Генератор случайных чисел - C++
составить генератор случайных чисел, имеющий два члена - границы последовательности. Предоставить метод, который выводит СЧ из диапазона...

Генератор случайных чисел - C++
Здраствуййте :( int a=rand()%10000; std::cout &lt;&lt; a; getchar(); return 0; int a=rand()%1000; std::cout &lt;&lt; a; getchar();...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Precise
26 / 26 / 1
Регистрация: 20.05.2012
Сообщений: 43
12.05.2013, 12:38 #2
У вас оба пункта не правильны! Ниже представлена правильная запись.
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
int main()
{
   int n;
   double m;
   srand(time(NULL));
 
   cout << "a) \n";
   for(int i = 0; i < 25; i++)
   {
   m = 0.49 * (rand() % 50 - 50);
   cout << m << endl;
   }
 
   cout << "b) \n";
   for(int i = 0; i < 30; i++)
   {
      n = rand() % 20 - 20;
      cout << n << endl;
   }
   system ("PAUSE");
   return 0;
}
1
Zoger
3 / 3 / 0
Регистрация: 10.10.2010
Сообщений: 68
12.05.2013, 12:42  [ТС] #3
Цитата Сообщение от Precise Посмотреть сообщение
У вас оба пункта не правильны!
большое спасибо!
Но мой вариант пункта "б" тоже вроде правильный. по крайней мере компилятор правильно выбирает числа в указанном диапазоне.
0
Precise
26 / 26 / 1
Регистрация: 20.05.2012
Сообщений: 43
12.05.2013, 12:52 #4
Если хотите использовать свою реализацию, тогда сделайте так!
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
int main()
{
   int n;
   double m;
   srand(time(NULL));
 
   cout << "a) \n";
   for(int i = 0; i < 25; i++)
   {
   m = -50 + 0.49 * (rand() % 101);
   cout << m << endl;
   }
 
   cout << "b) \n";
   for(int i = 0; i < 30; i++)
   {
      n =-20 + rand() % 41;
      cout << n << endl;
   }
   system ("PAUSE");
   return 0;
}
0
Zoger
3 / 3 / 0
Регистрация: 10.10.2010
Сообщений: 68
12.05.2013, 13:01  [ТС] #5
Цитата Сообщение от Precise Посмотреть сообщение
m = -50 + 0.49 * (rand() % 101);
Цитата Сообщение от Precise Посмотреть сообщение
m = 0.49 * (rand() % 50 - 50);
но эти оба варианта берут только -50 до 0
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2013, 13:01
Привет! Вот еще темы с ответами:

Генератор случайных чисел - C++
Реализовать генератор случайных числе в диапазоне от нуля до единицы. После генерации случайного числа, записывать 0 или 1 (в соответствии...

Генератор случайных чисел - C++
Есть функция, генерирующая случайные целые числа с помощью линейного конгруэнтного метода. Нужно сделать частотный побитовый тест для...

Генератор случайных чисел - C++
Как написать генератор случайных (пусть и псевдо) чисел, выдающий на выходе целые случайные числа от 1 до 10 и в кол-ве 10-и и без...

Генератор случайных чисел - C++
Здравствуйте, написал вот такой генератор псевдослучайных чисел в диапазоне 0-99 и задался вопросом о его скорости. Я считываю время...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.05.2013, 13:01
Ответ Создать тему
Опции темы

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