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

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

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

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

07.09.2013, 21:50. Просмотров 2221. Ответов 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;
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2013, 21:50     Функция Random!?
Посмотрите здесь:

random C++
random C++
C++ Random
C++ Random
Random C++
random C++
C++ Random for double:(
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Maxim19
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 3
07.09.2013, 22:06     Функция Random!? #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;  }
-=ЮрА=-
Заблокирован
Автор FAQ
07.09.2013, 22:15     Функция Random!? #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));//Установка нач значения генератора случ чисел
- эта строка обязательна для генерации не повторяющихся серий
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 784
Записей в блоге: 1
07.09.2013, 22:56  [ТС]     Функция Random!? #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?
-=ЮрА=-
Заблокирован
Автор FAQ
07.09.2013, 23:38     Функция Random!? #5
Цитата Сообщение от DmitryM5 Посмотреть сообщение
Цикл необязателен?Он просто показывает работу для разных n?
конечно всё должно быть без цикла, цикл нужен был для имитации многократного вызова функции в программе.
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 784
Записей в блоге: 1
08.09.2013, 22:20  [ТС]     Функция Random!? #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");
}
egor2116
338 / 369 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
08.09.2013, 22:37     Функция Random!? #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;
 
}
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 784
Записей в блоге: 1
08.09.2013, 22:41  [ТС]     Функция Random!? #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???
egor2116
338 / 369 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
08.09.2013, 22:46     Функция Random!? #9
1.А что вот это такое? unsigned(time(0));
глупость , в данном случае ненужная.
И зачем в коде выше main возвращает int,ну понятно зачем return 0???
маленький совет всегда пишите int. Не все коомпиляторы принимаю такую запись
C++
1
void main(){}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2013, 22:55     Функция Random!?
Еще ссылки по теме:

Исправьте ошибки! задание само: массив из 20 чисел случайных (функция random) вывести минимальное C++
C++ Random и объекты класса (pseudo random)
Random от -5 до 4 массив С++ C++
C++ Функция random
C++ Random массив

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
08.09.2013, 22:55     Функция Random!? #10
Цитата Сообщение от DmitryM5 Посмотреть сообщение
unsigned(time(0));
- где такое было unsigned?
В моём коде выше было
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
srand(time(0));//Установка нач значения генератора случ чисел
- эта строка установит начальное значение генератора на основании значения time_t возвращённого функцией time.
Цитата Сообщение от DmitryM5 Посмотреть сообщение
2.И зачем в коде выше main возвращает int,ну понятно зачем return 0???
main может завершиться с ошибкой и передаст в систему код ошибки (возврат будет не 0). По коду ошибки система сможет адекватно среагировать на возникшую ситуацию. Без кода возврата мы играем с системой в русскую рулетку.
Yandex
Объявления
08.09.2013, 22:55     Функция Random!?
Ответ Создать тему
Опции темы

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