Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
GSUR
3 / 3 / 2
Регистрация: 27.05.2010
Сообщений: 64
#1

Альтернатива RandSeed - C++

09.02.2012, 17:48. Просмотров 1019. Ответов 13
Метки нет (Все метки)

Здравствуйте, скажите какая альтернатива RandSeed из Borland в Dev-C++? Уж и не знаю как в поиске извратиться...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2012, 17:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Альтернатива RandSeed (C++):

Альтернатива goto в С++ - C++
Как перейти из конца цикла (перенаправление - first) в самое начало программы, дело в том, что goto нельзя перенаправлять в начало...

Альтернатива make - C++
Много слышал про make в unix\linux. А есть что то подобное для windows? Добавлено через 7 минут Совместимое с mingw

Альтернатива %USERPROFILE% - C++
В батниках и ярлыках можно прописывать путь используя %SYSTEMROOT% ,%USERNAME% , %USERPROFILE% и таких команд много)), но если использовать...

Альтернатива realloc ? - C++
Ищу способ динамически расширять массив объектов. В с++ использую new и delete, а перемешивать с ними сишные способы выделения памяти...

Альтернатива функции IntToHex - C++
В Borland есть функция IntToHex, я написал альтернативу, мне необходимо чтобы она работала также как работала бы в Borlande вызов...

Альтернатива функции rand()? - C++
Доброго времени суток. Подскажите новичку, альтернативу функции rand(). Просто у меня есть 10 потоков у которых одновременно используется...

13
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
09.02.2012, 17:52 #2
www.cplusplus.com/reference/clibrary/cstdlib/srand/
1
GSUR
3 / 3 / 2
Регистрация: 27.05.2010
Сообщений: 64
10.02.2012, 11:43  [ТС] #3
Был на этой страничке, может в С++ есть переменная seed, но в Dev-C++ компилятор на нее ругается.

Добавлено через 2 минуты
C++
1
2
3
srand(time(NULL));
int a[30];
a[0] = seed; //ругается
0
CheshireCat
Эксперт С++
2896 / 1245 / 78
Регистрация: 27.05.2008
Сообщений: 3,404
10.02.2012, 11:43 #4
Приведи код. И как именно компилятор ругается? Телепаты все в отпуске.
0
GSUR
3 / 3 / 2
Регистрация: 27.05.2010
Сообщений: 64
10.02.2012, 11:46  [ТС] #5
Dev-C++ v4.9.9.2
//err
undeclared
0
CheshireCat
Эксперт С++
2896 / 1245 / 78
Регистрация: 27.05.2008
Сообщений: 3,404
10.02.2012, 11:49 #6
Код где???
0
GSUR
3 / 3 / 2
Регистрация: 27.05.2010
Сообщений: 64
10.02.2012, 11:51  [ТС] #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cstdlib>
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    srand(time(NULL));
    const int m = 2147483647;
    const int j = 630360016;
    const int n = 3000;
    long a[n], b[n];
    a[0] = seed;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
выше тоже самое и без лишних строк, что вам не нравится?)

Альтернатива RandSeed
0
CheshireCat
Эксперт С++
2896 / 1245 / 78
Регистрация: 27.05.2008
Сообщений: 3,404
10.02.2012, 11:59 #8
Ну так компилятор правильно ругается. У тебя же нет переменной seed, не так ли? :-)
Что ты вообще хочешь сделать-то?
0
GSUR
3 / 3 / 2
Регистрация: 27.05.2010
Сообщений: 64
10.02.2012, 12:09  [ТС] #9
Я хочу написать генератор случайных чисел, написал на дельфе:
Delphi
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
const
    n=10000;
 
var
    a:array [0..10000] of int64;
    b:array [0..10000] of real;
    i, m, j:longint;
    c, d, e, x1, x2, sig:Double;
 
begin
  { TODO -oUser -cConsole Main : Insert code here }
 
Randomize;
m:=2147483647;
j:=630360016;
c:=0;
d:=0;
a[0]:=RandSeed;
 
a[0]:=abs(a[0]);
 
for i := 1 to (n-1) do
    a[i]:=a[i-1]*j mod m;
 
for i := 0 to n-1 do
  begin
    b[i]:=a[i]/m;
    c:=c+b[i];
    d:=d+b[i]*b[i];
  end;
 
c:=c/n;
writeln('MO: ', c:4:5);
d:=(d-n*c*c)/(n-1);
writeln('D: ', d:4:5);
e:=sqrt(d);
writeln('SKO: ', e:4:5);
 
sig:=1.96*e/sqrt(n);
x1:=c-sig;
x2:=c+sig;
writeln('x1: ', x1:4:3, ' x2: ', x2:4:3);
 
readln;
end.
Хочу переписать на сишку, но в Dev не могу найти такой же глобальной переменной для рандома, как RandSeed в дельфе...
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
10.02.2012, 12:23 #10
http://en.cppreference.com/w/cpp/numeric/random/rand
1
CheshireCat
Эксперт С++
2896 / 1245 / 78
Регистрация: 27.05.2008
Сообщений: 3,404
10.02.2012, 12:25 #11
AFAIK, в библиотеке Си опорное число встроенного генератора случайных чисел недоступно - это отличие от Дельфи. Ты можешь только установить новое значение этого числа, используя функцию srand().
0
GSUR
3 / 3 / 2
Регистрация: 27.05.2010
Сообщений: 64
10.02.2012, 12:31  [ТС] #12
Для тех ко найдет эту тему и не особо дружит с английским, глобальной переменной для srand() является rand(), если я все правильно понял
По идее все работает начальное случайное число дает, но при многократный запусках выводит числа в порядке возрастания.
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
10.02.2012, 12:32 #13
Цитата Сообщение от GSUR Посмотреть сообщение
глобальной переменной для srand() является rand()
Это функции.
0
GSUR
3 / 3 / 2
Регистрация: 27.05.2010
Сообщений: 64
10.02.2012, 12:34  [ТС] #14
CheshireCat, твой ответ не увидел свой написал, то есть к подобной переменной не подобраться?
0
10.02.2012, 12:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2012, 12:34
Привет! Вот еще темы с ответами:

Альтернатива if (.) {.} (тернарный оператор) - C++
блин запамятовал как это делается пишут вместо стандартной формы что то типа y &lt; x : x = m напомните плиз как это называется, какие там...

альтернатива case из паскаля - C++
Вообщем смысл прост нужно найти альтернативу такой записи в delphi case a of 0..9: ...; 10..19: ...; ... нужжно тоже...

альтернатива kbhit() и getch - C++
А кто подскажет,чем можно заменить kbhit() and getch в коде. Компилятор выдает ошибку,т.к. данные ф-ции устаревшие int i=0; enum...

Альтернатива функции strspn - C++
Кто знает, как написать свою функцию, которая выполняла бы те же действия, что и функция strspn на языке си??? И если возможно то и...


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

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

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