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

Не срабатывает повторно генерация случайных чисел - C++

Восстановить пароль Регистрация
 
vyachesmine
7 / 7 / 1
Регистрация: 19.02.2013
Сообщений: 22
19.02.2013, 23:19     Не срабатывает повторно генерация случайных чисел #1
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <time.h>
#include <locale.h>
#include <iomanip.h>
#define n 5
#define SS 1.12
double method()
{
double param [5][5];
    double a[5],b[5],s[5];
    double sum_a_i,lmax,IS,OS;
    int i,j,k;
    k = 0;
    while(OS>=SS)
    {
    srand(time(NULL));
    for (i=0; i<5; i++)
        for (j=i; j<5; j++)
        {
            param[i][j] = rand()%9+1;
            param[j][i] = 1.0/param[i][j];
            if (i==j) param[i][j] = 1;  
        }
        sum_a_i = 0;
        for (i=0; i<5; i++)
        {
            a[i] = 1;
        for (j=0; j<5; j++) a[i] = a[i]*pow(param[i][j],1.0/5);
        sum_a_i = sum_a_i + a[i];
        }
        for (i=0; i<5; i++) s[i] = a[i]/sum_a_i;
        for (j=0; j<5; j++)
        {
            b[j]=0;
            for (i=0; i<5; i++) b[j] = b[j] + param[i][j];
        }
        lmax = 0;
        for (i=0; i<5; i++) lmax = lmax + b[i]*s[i];
        IS = (lmax-n)/(n-1);
        OS = IS/SS;
        }
        if (OS < SS)
        {
        for (i=0; i<5; i++)
        {
            cout << "\n\n\n";
            for (j=0; j<5; j++) cout << "\t" << param[i][j];
        }
        cout << "\nÍîðìèðîâГ*Г*Г*ûé âåêòîð:\n\n\n";
        for (i=0; i<5; i++) cout << "\t" << s[i];
        cout << "\nb[i]\n";
        for (j=0; j<5; j++) cout << "\t" << b[j];
        cout << "\n" << lmax;
        cout << "\nIS\t" << IS << "\tOS\t" << OS;
        }
        return 0;        
}
int main()
{
    setlocale(LC_ALL,".1251");
    method();
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 23:19     Не срабатывает повторно генерация случайных чисел
Посмотрите здесь:

C++ Генерация случайных чисел
C++ Генерация случайных чисел
Генерация случайных чисел C++
Генерация случайных чисел C++
C++ Генерация случайных чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
19.02.2013, 23:27     Не срабатывает повторно генерация случайных чисел #2
в чём выражается несрабатывание?
srand лучше вынести за пределы цикла в начало.
vyachesmine
7 / 7 / 1
Регистрация: 19.02.2013
Сообщений: 22
19.02.2013, 23:39  [ТС]     Не срабатывает повторно генерация случайных чисел #3
В общем, это реализация метода парных сравнений. Задумка в том, что param будет рандомно заполняться до тех пор, пока OS не будет выступать за пределы. Однако генерация проходит один раз и все на этом кончается

Добавлено через 8 минут
Kuzia domovenok, В общем, это реализация метода парных сравнений. Задумка в том, что param будет рандомно заполняться до тех пор, пока OS не будет выступать за пределы. Однако генерация проходит один раз и все на этом кончается
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
20.02.2013, 00:17     Не срабатывает повторно генерация случайных чисел #4
так ты перенёс srand(time(NULL)); и поставил ДО while(OS>=SS)
и ничего не изменилось?
vyachesmine
7 / 7 / 1
Регистрация: 19.02.2013
Сообщений: 22
20.02.2013, 00:32  [ТС]     Не срабатывает повторно генерация случайных чисел #5
Да, пробовал. Бесполезно.
Yandex
Объявления
20.02.2013, 00:32     Не срабатывает повторно генерация случайных чисел
Ответ Создать тему
Опции темы

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