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

Генерирование случайных чисел и выборка значения из этих чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Navi1327
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 14
18.02.2013, 10:35     Генерирование случайных чисел и выборка значения из этих чисел #1
Здравствуйте, помогите решить задачку. Нужно случайным образом сгенерировать числа от 0..9, 100 раз. Затем из генерированных чисел пользователь должен выбрать число, и в программе должен быть пересчет, сколько раз встретилось это число из 100 раз.

Затем мы должны занести данные каждого числа от 0..9 (сколько раз оно встретилось) в массив...

Спасибо....

Начало моего задания......
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
int _tmain(int argc, _TCHAR* argv[])
{
    int a,T,n;
    double P,p,dt;//a,T,n;
    
    printf("\n Enter a:");
    scanf("%d",&a);
    printf("\n Enter n:");
    scanf("%d",&n);
    printf("\n Enter T:");
    scanf("%d",&T);
 
    dt=(float)T/n;
    printf("\n dt= %lf \n",dt);
    printf("\n Vichislim P");
    P = a*dt;
    printf("\n P = %lf \n",P);
 
    int x,t;
    srand(time(0));
   
    for(int i = 0; i < 9; ++i)
    {
        //for (i=0;i<10;i++)
        x = 1  + rand()%9;
        printf("%d ", x);   
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2013, 10:35     Генерирование случайных чисел и выборка значения из этих чисел
Посмотрите здесь:

C++ С помощью генератора случайных чисел ,задать значения элементов массива
C++ Дано n различных чисел, напечатать все возможные перестановки этих чисел
Генерация случайных чисел с поиском максимального значения C++
Из файла прочитать все значения, вычислить сумму этих чисел C++
C++ Rand(), генерирование случайных чисел в заданном интервале
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ya_noob
_
200 / 144 / 9
Регистрация: 08.10.2011
Сообщений: 432
18.02.2013, 10:51     Генерирование случайных чисел и выборка значения из этих чисел #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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    srand( time( 0 ) );
 
    int a[ 10 ] = { 0 };
    int n;
 
    for ( int i = 0; i < 100; ++i )
        ++a[ rand() % 10 ];
 
    cout << "Enter n: ";
    cin >> n;
    if ( n >= 0 && n < 10 )
        cout << "result: " << a[ n ] << endl;
    else
        cout << "bad number" << endl;
 
    return 0;
}
Navi1327
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 14
18.02.2013, 11:29  [ТС]     Генерирование случайных чисел и выборка значения из этих чисел #3
Цитата Сообщение от ya_noob Посмотреть сообщение
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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    srand( time( 0 ) );
 
    int a[ 10 ] = { 0 };
    int n;
 
    for ( int i = 0; i < 100; ++i )
        ++a[ rand() % 10 ];
 
    cout << "Enter n: ";
    cin >> n;
    if ( n >= 0 && n < 10 )
        cout << "result: " << a[ n ] << endl;
    else
        cout << "bad number" << endl;
 
    return 0;
}
Спасибо...
А что это??? Оно не совсем правильно работает......
Мне нужно 100 рандомных чисел и из них выбрать одно число, и почитать сколько раз оно встретилось и поделить на 100. т.е. посчитать вероятность....

Добавлено через 8 минут
Я как бы сделал программу, она выводит 100 ранд. чисел... но я не знаю как задать, чтобы он считал из этого списка выбранное пользователем число.... приходиться пока это делать вручную..... А это очень долго... как быть???


СПАСИБО)
ya_noob
_
200 / 144 / 9
Регистрация: 08.10.2011
Сообщений: 432
18.02.2013, 11:40     Генерирование случайных чисел и выборка значения из этих чисел #4
замени это
C++
1
cout << "result: " << a[ n ] << endl;
на это
C++
1
cout << "result: " << 1.0 * a[ n ] / 100 << endl;
Добавлено через 4 минуты
массив а - это массив счетчиков рандомных чисел. Когда в цикле мы генерируем очередное число, соответствующий счетчик увеличивается на 1. Тогда после генерации чисел в а[i] будет лежать кол-во сгенерированных чисел i.
Navi1327
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 14
18.02.2013, 12:09  [ТС]     Генерирование случайных чисел и выборка значения из этих чисел #5
Ещё вопрос, при отладки я ввожу число 2 он выводит 0.09 и закрывает автоматически....

А как сделать чтобы пользователь ввёл цифру 5 ему дало кол-во 5 в 100 числах.
Затем он опять выбирает др. число, в этой же сессии пр. 3 и ему дает кол-во 3 в 100 сл. цифрах...

Потом нужно вероятности каждого числа от 0.. 9 занести в массив....

Спасибо..
ya_noob
_
200 / 144 / 9
Регистрация: 08.10.2011
Сообщений: 432
18.02.2013, 12:33     Генерирование случайных чисел и выборка значения из этих чисел #6
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
29
30
31
32
33
34
35
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
void generate( int *a, int n, int m )
{
    for ( int i = 0; i < n; ++i )
        a[ i ] = 0;
    for ( int i = 0; i < m; ++i )
        ++a[ rand() % n ];
}
 
int main()
{
    srand( time( 0 ) );
 
    int a[ 10 ];
    int n;
 
    
    cout << "Enter n: ";
    cin >> n;
    while ( n >= 0 && n < 10 )
    {
        generate( a, 10, 100 );
        cout << "count = " << a[ n ] << ", p = " << 1.0 * a[ n ] / 100 << endl;
 
        cout << "\nEnter n: ";
        cin >> n;
    }
    system( "Pause" );
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2013, 14:02     Генерирование случайных чисел и выборка значения из этих чисел
Еще ссылки по теме:

Написать генератор случайных чисел, декрементирующий свои значения C++
Генератор псевдо случайных чисел повторяет значения C++
C++ Запишите шесть строк, состоящих из двух случайных чисел типа int, которые не больше 10 и трех случайных чисел

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

Или воспользуйтесь поиском по форуму:
Navi1327
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 14
18.02.2013, 14:02  [ТС]     Генерирование случайных чисел и выборка значения из этих чисел #7
Цитата Сообщение от ya_noob Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
void generate( int *a, int n, int m )
{
    for ( int i = 0; i < n; ++i )
        a[ i ] = 0;
    for ( int i = 0; i < m; ++i )
        ++a[ rand() % n ];
}
    
}
Это, вы получается создали свой генератор случайных цифр. А можно чтобы он выводил 100 цифр на экран... Чтобы пользователь мог проверить??

Цитата Сообщение от ya_noob Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main()
{
    srand( time( 0 ) );
 
    int a[ 10 ];
    int n;
 
    
    cout << "Enter n: ";
    cin >> n;
    while ( n >= 0 && n < 10 )
    {
        generate( a, 10, 100 );
        cout << "count = " << a[ n ] << ", p = " << 1.0 * a[ n ] / 100 << endl;
 
        cout << "\nEnter n: ";
        cin >> n;
    }
    system( "Pause" );
 
    return 0;
}
Не могли бы компрометирование каждую запись??

Ещё не подскажите, а вот как потом все вероятности записать в массив??
Спасибо....

Добавлено через 33 минуты
Цитата Сообщение от Navi1327 Посмотреть сообщение
cout <<"Enter L: ";
cin >> L;
cout <<"Enter k: ";
cin >> k;
cout <<"Enter T: ";
cin >> T;
dt=T\k;
cin >>dt;
Почему он возмущается
"Ошибка 2 error C2017: недопустимая escape-последовательность "
"Ошибка 3 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "k" "

Спасибо...)

Добавлено через 20 минут
Цитата Сообщение от Navi1327 Посмотреть сообщение
Это, вы получается создали свой генератор случайных цифр. А можно чтобы он выводил 100 цифр на экран... Чтобы пользователь мог проверить??



Не могли бы компрометирование каждую запись??

Ещё не подскажите, а вот как потом все вероятности записать в массив??
Спасибо....

Добавлено через 33 минуты


Почему он возмущается
"Ошибка 2 error C2017: недопустимая escape-последовательность "
"Ошибка 3 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "k" "

Спасибо...)
Всё частично разобрался с последним вопросом.....


Код
   cout <<"Enter Lyamda: ";
		cin >>Lyamda;
	cout <<"Enter T: ";
		cin >>T;
	cout <<"Enter k: ";
		cin >>k;
	cout << "dt = " << T/(k)<< endl;
	
	cout << "p1 = " << Lyamda * dt<< endl;
Только вот почему он при подсчёте p1 выдаёт 0...... Может из-за типа переменных??
Yandex
Объявления
18.02.2013, 14:02     Генерирование случайных чисел и выборка значения из этих чисел
Ответ Создать тему
Опции темы

Текущее время: 13:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru