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

Рандомизация - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
Stowyn
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 7
17.10.2010, 21:21     Рандомизация #1
Необходимо случайным образом выбрать число от 0 до 0.9 включительно, и записать в a"" с шагом в 0.1.
Что бы итоге "а" могло быть = 0 или 0.1 или 0.2 или 0.3 или 0.4 или 0.5 или 0.6 или 0.7 или 0.8 или 0.9
Как это реализовать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
17.10.2010, 21:32     Рандомизация #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
using namespace std;
 
int main()
{
    for(int i = 0;i < 50;i++){
    float a = (rand()%10)*0.1;
    cout << a << "   ";
    }
 
 system("pause");
        return 0;
}
Stowyn
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 7
17.10.2010, 22:25  [ТС]     Рандомизация #3
Вариант хороший, вот только твой пример всегда генерирует один и тот же набор О_о

"
0 0.2 0 0.6 0.7 0.5 0.5 0.8 0.6 0.4 0.8 0.1 0.9 0.2
0 0.2 0.1 0.3 0.7 0.9 0.1 0 0.5 0.4 0.9 0.2 0.1 0.9
0.6 0.1 0.1 0.5 0.3 0.4 0 0.9 0.5 0.1 0.2 0.9 0.8 0.6
0.4 0.2 0.3 0.6 0.4 0.9 0.1 0.7 Для продолжения нажмите любую
клавишу . . .

"

Не изменяясь )
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
17.10.2010, 22:49     Рандомизация #4
Цитата Сообщение от Stowyn Посмотреть сообщение
вот только твой пример всегда генерирует один и тот же набор
чтобы это избежать надо воспользоваться функцией srand.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int main()
{
    srand((unsigned int)time(NULL));
    for(int i = 0;i < 50;i++){
        float a = (rand()%10)*0.1;
        cout << a << "   ";
    }
 
    return 0;
}
Stowyn
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 7
17.10.2010, 23:59  [ТС]     Рандомизация #5
Спасибо, работает.
Yandex
Объявления
17.10.2010, 23:59     Рандомизация
Ответ Создать тему
Опции темы

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