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

Про рандом - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 45, средняя оценка - 4.64
nonamez123
 Аватар для nonamez123
184 / 180 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
28.09.2011, 22:24     Про рандом #1
Я уже понимаю, что это наверное 100500 тема, но уж сорре, раздел говорит сам за себя.

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

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

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

Рандом C++
Рандом C++
рандом C++
C++ Про рандом
Рандом C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 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(); компьютер выберет случ. числа, и после каждой компиляции будет выводить только их.
nonamez123
 Аватар для nonamez123
184 / 180 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
28.09.2011, 22:34  [ТС]     Про рандом #3
а что бы изменялось в приделах цикла, то нужно его пихнуть в сам цикл над рандом?
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
28.09.2011, 22:37     Про рандом #4
Не совсем понял, по подробней.
nonamez123
 Аватар для nonamez123
184 / 180 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
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;
...
При таком варианте если я буду что-то писать дальше после функции, оно там тоже ведь будит меняцо.
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
28.09.2011, 22:42     Про рандом #6
Если не ошибаюсь randomize(); это сишная ф-я, и в плюсах она не пойдет. В начале подключи бибу #include <time.h>,а потом вместо randomize(); напиши srand(time(NULL));
nonamez123
 Аватар для nonamez123
184 / 180 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
28.09.2011, 22:44  [ТС]     Про рандом #7
Цитата Сообщение от Nursik77 Посмотреть сообщение
Если не ошибаюсь randomize(); это сишная ф-я, и в плюсах она не пойдет. В начале подключи бибу #include <time.h>,а потом вместо randomize(); напиши srand(time(NULL));
http://tigcc.ticalc.org/doc/stdlib.html#randomize тут написано, что она в составе stdlib сидит...
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
28.09.2011, 22:47     Про рандом #8
Ну я и говорю, что енто сишная ф-я.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
28.09.2011, 22:49     Про рандом #9
nonamez123, эта функция существует только внутри сборки gcc у TI
ни в каком стандарте С/С++ ее нету
делайте как сказал Nursik77
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
28.09.2011, 22:51     Про рандом #10
nonamez123, еще можешь почитать тут: http://www.cyberforum.ru/cpp-beginners/thread44753.html
В особенности 2-ой пост.
nonamez123
 Аватар для nonamez123
184 / 180 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
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;
}
Вот об этом я и говорил, в обоих массивах всегда одно и тоже, а надо что бы в первом ранд, во втором тоже самое.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
28.09.2011, 23:02     Про рандом #12
вы выводите один и тот же массив
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2011, 23:24     Про рандом
Еще ссылки по теме:

рандом C++
Рандом C++
C++ Рандом

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

Или воспользуйтесь поиском по форуму:
nonamez123
 Аватар для nonamez123
184 / 180 / 12
Регистрация: 23.10.2010
Сообщений: 1,301
28.09.2011, 23:24  [ТС]     Про рандом #14
ахахах,спасиб. Бывает у мен такое)
Yandex
Объявления
28.09.2011, 23:24     Про рандом
Ответ Создать тему
Опции темы

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