Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/34: Рейтинг темы: голосов - 34, средняя оценка - 4.88
nonamez123
187 / 183 / 54
Регистрация: 23.10.2010
Сообщений: 1,331
1

Про рандом

28.09.2011, 22:24. Просмотров 6246. Ответов 13
Метки нет (Все метки)

Я уже понимаю, что это наверное 100500 тема, но уж сорре, раздел говорит сам за себя.

По сути хотелось бы узнать разнцу между rand(),random() и randomize().

Ибо надо каждый раз иметь число в определённых приделах, но что бы разное.

Я пытаюсь как-то так
C++
1
a[i]=randomize( rand( )% 100+1);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2011, 22:24
Ответы с готовыми решениями:

Про рандом
Как с++ одномерный массив из 10 элементов прорандомить так ,чтобы все элементы...

Про линковку библиотек и про архитектуру иерархии классов
Добрый день! Возникла такая вот проблема. Я использую MinGW Developer Studio....

Рандом
возникла проблема - я создал массив, состоящий из десяти рандомных чисел....

Рандом в С++
Привет! Может ли кто-нибудь объяснить как сделать рандом в С++, нужно сделать...

Рандом
Нужна помощь!!!! Вот исходный код: #include "stdafx.h" #include <stdlib.h>...

13
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
28.09.2011, 22:32 2
randomize(). используется в СИ для генерации случ. чисел. каждый раз.
Если написать:
C
1
2
3
4
5
6
...
int i,arr[i];
randomize();
for( i = 0; i < n ;i ++)
a[i] = rand()%100+1;
...
То каждый раз будут выводиться разные числа в указанном диапазоне.
Без randomize(); компьютер выберет случ. числа, и после каждой компиляции будет выводить только их.
1
nonamez123
187 / 183 / 54
Регистрация: 23.10.2010
Сообщений: 1,331
28.09.2011, 22:34  [ТС] 3
а что бы изменялось в приделах цикла, то нужно его пихнуть в сам цикл над рандом?
0
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
28.09.2011, 22:37 4
Не совсем понял, по подробней.
0
nonamez123
187 / 183 / 54
Регистрация: 23.10.2010
Сообщений: 1,331
28.09.2011, 22:42  [ТС] 5
http://gyazo.com/72efe317c1062f26988397ca30c46b5d нифига не выходит блин, эрор выкидывает

Добавлено через 2 минуты
Цитата Сообщение от Nursik77 Посмотреть сообщение
C
1
2
3
4
5
6
...
int i,arr[i];
randomize();
for( i = 0; i < n ;i ++)
a[i] = rand()%100+1;
...
При таком варианте если я буду что-то писать дальше после функции, оно там тоже ведь будит меняцо.
0
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
28.09.2011, 22:42 6
Если не ошибаюсь randomize(); это сишная ф-я, и в плюсах она не пойдет. В начале подключи бибу #include <time.h>,а потом вместо randomize(); напиши srand(time(NULL));
0
nonamez123
187 / 183 / 54
Регистрация: 23.10.2010
Сообщений: 1,331
28.09.2011, 22:44  [ТС] 7
Цитата Сообщение от Nursik77 Посмотреть сообщение
Если не ошибаюсь randomize(); это сишная ф-я, и в плюсах она не пойдет. В начале подключи бибу #include <time.h>,а потом вместо randomize(); напиши srand(time(NULL));
http://tigcc.ticalc.org/doc/stdlib.html#randomize тут написано, что она в составе stdlib сидит...
0
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
28.09.2011, 22:47 8
Ну я и говорю, что енто сишная ф-я.
0
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
28.09.2011, 22:49 9
nonamez123, эта функция существует только внутри сборки gcc у TI
ни в каком стандарте С/С++ ее нету
делайте как сказал Nursik77
0
Nursik77
273 / 233 / 30
Регистрация: 05.04.2011
Сообщений: 645
28.09.2011, 22:51 10
nonamez123, еще можешь почитать тут: http://www.cyberforum.ru/cpp-beginners/thread44753.html
В особенности 2-ой пост.
0
nonamez123
187 / 183 / 54
Регистрация: 23.10.2010
Сообщений: 1,331
28.09.2011, 23:00  [ТС] 11
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 <fstream>
#include <stdlib.h>
#include <time.h>
using namespace std;
 
int main(int argc, char *argv[])
{
    
    int a[5];
    int b[5];
    srand(time(NULL));
    for (int i=0; i<5; i++) {
        a[i]=rand()% 100+1;
        cout << a[i]<<endl;
    }
    cout << "----\n";
    for (int i=0; i<5; i++) {
        b[i]=rand()% 100+1;
        cout << a[i]<<endl;
    }
    system("PAUSE");
    return 0;
}
Вот об этом я и говорил, в обоих массивах всегда одно и тоже, а надо что бы в первом ранд, во втором тоже самое.
0
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
28.09.2011, 23:02 12
вы выводите один и тот же массив
0
alkagolik
Заблокирован
28.09.2011, 23:14 13
nonamez123, обратите внимание на заголовочные файлы, строку 22, ну и эстетики немного с пробелами
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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
 
const int size = 5;
 
int main()
{
    int a[size], b[size];
    srand(time(NULL));
    
    for (int i = 0; i < 5; ++i) {
        a[i] = rand() % 100 + 1;
        std::cout << a[i] << std::endl;
    }
    
    std::cout << "----\n";
    
    for (int i=0; i<5; ++i) {
        b[i] = rand() % 100 + 1;
        std::cout << b[i] << std::endl;
    }
    return 0;
}
1
nonamez123
187 / 183 / 54
Регистрация: 23.10.2010
Сообщений: 1,331
28.09.2011, 23:24  [ТС] 14
ахахах,спасиб. Бывает у мен такое)
0
28.09.2011, 23:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2011, 23:24

рандом
подскажите,плз,как рандомно выводить значения типа цццАцц, где ц-цифра, А-буква.

рандом
подскажите что не так #include &lt;iostream&gt; #include &lt;string&gt; #include...

рандом
Нижно массив заполнить рандомом #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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