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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 842
Записей в блоге: 1
#1

Функция Random!? - C++

07.09.2013, 21:50. Просмотров 2583. Ответов 9
Метки нет (Все метки)

Задание: Создать функцию random( n ), которая возвращает случайное целое число от 0 включительно до целого числа n не включительно. [%, rand из cstdlib]

Даже идей нету...Пример чуть похожий есть,но он мне не помог.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cstdlib> // для использования генератора случайных чисел
#include <ctime>   // функции времени для инициализации генератора с. ч.
 
using namespace std;
 
int main() {
  srand(unsigned(time(0))); // инициализации генератора с. ч.
 
  // rand() генерирует псевдослучайное целое число от 0 до 
  // константы RAND_MAX, значение которой не меньше, чем 32767
 
  // Случайное целое от 0 до 99
  int n1 = rand() % 100;
  cout << n1 << endl;
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2013, 21:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция Random!? (C++):

Функция random - C++
Собственно дело в том, что перелез с рад студио на вс, благо лицензию наконец бесплатно дали. Но тут загвоздка небольшая. Не понимаю,...

Исправьте ошибки! задание само: массив из 20 чисел случайных (функция random) вывести минимальное - C++
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;conio.h&quot; #include &quot;iostream&quot; void main() { setlocale(0,&quot;&quot;); int a; int i; ...

Random и объекты класса (pseudo random) - C++
Всем привет. Есть класс: typedef unsigned int ui; class Player { private: ui health;

random - C++
Нужно сгенерировать случайное число двух значное как это сделать ? Visual C++ Гуглил но только это . #include &lt;iostream&gt; using...

random - C++
Доброго времени суток! Вопрос прост: для генерации случайных чисел всегда пользовался rand(), но тут что то вдруг добрался до random(), но...

Random - C++
Помогите,пожалуйста, подкорректировать текст проги так,что был массив задавался рандомно,а не вводился как у меня вручную. #include...

9
Maxim19
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 3
07.09.2013, 22:06 #2
Попробуй создать функцию которая возвращает int относительно времени.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <ctime>   // функции времени для инициализации генератора с. ч.
 
using namespace std;
 
int fff()
{
     int x = (int)time(NULL);
     return x;
}
 
int main() {
  int n1 = fff() % 100;
  //эта функция вернет случ. число в пределах от 0 до 99
  cout << n1 << endl;  }
или если сделать что бы ф-ция принимала значение тогда


C++
1
2
3
4
5
6
7
8
9
10
int fff(int n)
{
     int x = (int)time(NULL)%n;
     return x;
}
 
int main() {
  int n1 = fff(100);
  //эта функция вернет случ. число в пределах от 0 до 99
  cout << n1 << endl;  }
0
-=ЮрА=-
Заблокирован
Автор FAQ
07.09.2013, 22:15 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
И что тут сложного то?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <ctime>
#include <cstdlib>
#include <iostream>
using namespace std;
 
const int n = 10;
 
int Random(int n);
 
int main()
{
    srand(time(0));//Установка нач значения генератора случ чисел
    for(int i = 0; i <= n; i++)
        cout<<"iter # "<<i<<" = "<<Random(n)<<endl;
    return 0;
}
 
int Random(int n)
{
    return rand() % n;
}
http://codepad.org/pNqwvJPQ

Добавлено через 1 минуту
PS:
C++
1
srand(time(0));//Установка нач значения генератора случ чисел
- эта строка обязательна для генерации не повторяющихся серий
3
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 842
Записей в блоге: 1
07.09.2013, 22:56  [ТС] #4
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
И что тут сложного то?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <ctime>
#include <cstdlib>
#include <iostream>
using namespace std;
 
const int n = 10;
 
int Random(int n);
 
int main()
{
    srand(time(0));//Установка нач значения генератора случ чисел
    for(int i = 0; i <= n; i++)
        cout<<"iter # "<<i<<" = "<<Random(n)<<endl;
    return 0;
}
 
int Random(int n)
{
    return rand() % n;
}
http://codepad.org/pNqwvJPQ

Добавлено через 1 минуту
PS:
C++
1
srand(time(0));//Установка нач значения генератора случ чисел
- эта строка обязательна для генерации не повторяющихся серий
Спасибо,но не совсем понял как это работает...(3 дня в C++).
Цикл необязателен?Он просто показывает работу для разных n?
0
-=ЮрА=-
Заблокирован
Автор FAQ
07.09.2013, 23:38 #5
Цитата Сообщение от DmitryM5 Посмотреть сообщение
Цикл необязателен?Он просто показывает работу для разных n?
конечно всё должно быть без цикла, цикл нужен был для имитации многократного вызова функции в программе.
1
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 842
Записей в блоге: 1
08.09.2013, 22:20  [ТС] #6
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
конечно всё должно быть без цикла, цикл нужен был для имитации многократного вызова функции в программе.
Не знаю почему,но код выводит 1 все время,а при больших n число 41...Help pls!


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <locale>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int random(int n) {
    unsigned(time(0));
     return rand() % n;
        
}
 
void main() {
    std::locale::global(std::locale(""));
    int n;
    cout<<"Введите целое число n "<<endl;
    cin>>n;
    cout<<"Случайное число от 0 включительно до целого числа n не включительно = "<<random(n)<<endl;
    system("pause");
}
0
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,127
08.09.2013, 22:37 #7
1

srand(time(0));//Установка нач значения генератора случ чисел

- эта строка обязательна для генерации не повторяющихся серий
Люди ж говорят.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <locale>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int random(int n) {
return rand() % n;
 
}
 
int  main() {
std::locale::global(std::locale(""));
srand(time(0));
int n;
cout<<"Введите целое число n "<<endl;
cin>>n;
cout<<"Случайное число от 0 включительно до целого числа n не включительно = "<<random(n)<<endl;
 
}
1
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 842
Записей в блоге: 1
08.09.2013, 22:41  [ТС] #8
Цитата Сообщение от egor2116 Посмотреть сообщение
Люди ж говорят.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <locale>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int random(int n) {
return rand() % n;
 
}
 
int  main() {
std::locale::global(std::locale(""));
srand(time(0));
int n;
cout<<"Введите целое число n "<<endl;
cin>>n;
cout<<"Случайное число от 0 включительно до целого числа n не включительно = "<<random(n)<<endl;
 
}
Спасибо огромное!
1.А что вот это такое? unsigned(time(0));
2.И зачем в коде выше main возвращает int,ну понятно зачем return 0???
0
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,127
08.09.2013, 22:46 #9
1.А что вот это такое? unsigned(time(0));
глупость , в данном случае ненужная.
И зачем в коде выше main возвращает int,ну понятно зачем return 0???
маленький совет всегда пишите int. Не все коомпиляторы принимаю такую запись
C++
1
void main(){}
1
-=ЮрА=-
Заблокирован
Автор FAQ
08.09.2013, 22:55 #10
Цитата Сообщение от DmitryM5 Посмотреть сообщение
unsigned(time(0));
- где такое было unsigned?
В моём коде выше было
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
srand(time(0));//Установка нач значения генератора случ чисел
- эта строка установит начальное значение генератора на основании значения time_t возвращённого функцией time.
Цитата Сообщение от DmitryM5 Посмотреть сообщение
2.И зачем в коде выше main возвращает int,ну понятно зачем return 0???
main может завершиться с ошибкой и передаст в систему код ошибки (возврат будет не 0). По коду ошибки система сможет адекватно среагировать на возникшую ситуацию. Без кода возврата мы играем с системой в русскую рулетку.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2013, 22:55
Привет! Вот еще темы с ответами:

Random - C++
для чего пишем srand(time(0)); ? srand(time(0)); int a = rand() % N;

Random - C++
Всем привет! Столкнулся с проблемой: по программе должен нажать S, и после этого из списка 1.cpp ... 50.cpp должен выбраться один...

random - C++
R=random(101)/100.; Это генератор случайных чисел (0;1)?

Random массив - C++
нужно переделать код.Чтобы данные о длине массива и о членах вводилось через рандом. #include&lt;iostream&gt; #include&lt;iomanip&gt; #include...


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

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

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