Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
homerager
0 / 0 / 2
Регистрация: 28.11.2013
Сообщений: 15
1

Генератор чисел!

03.12.2013, 02:02. Просмотров 507. Ответов 3
Метки нет (Все метки)

Всем доброго времени суток. Нужна помощь, является задача сгенерировать матрицуNхM случайных чисел с нормальным законом распределения. Никак не могу приспособить функцию.
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <stdio.h>
#include <conio.h>
#include <iostream> 
#include <stdlib.h>
#include <time.h>
#include <iomanip>
#include <math.h>
#define LOFFSET log(RAND_MAX);
 
/*double getLrand(double l)
{
   return (log(rand()+1)-LOFFSET)/(-l); 
}*/
using namespace std; 
const double expp =2.71;
 
int main()
{
 
    setlocale(LC_ALL,".1251");
    srand(time (NULL));
    int **matrix;
    int n, m,dispers,math_f; 
    cout << "Ведiть розмiрнiсть рядкiв матрицi n = ";
    cin >> n;
    cout << "Ведiть розмiрнiсть стовбцiв матрицi m = ";
    cin >> m;
    cout<< "Розмip матрицi: "<<n<<"x"<<m<<endl;
    cout << "Ведiть матиматичне сподiвання M = ";
    cin >> math_f;
    cout << "Ведiть дисперсiю d = ";
    cin >> dispers;
    long long expectation=0;
 
    
   
      matrix = new int*[n];
 
for (int i = 0; i < n; i++)
    {
        matrix[i] = new int [m]; 
    for(int j = 0; j<m ; j++)
    {
    
        int summall=0;
        summall=matrix[i][j]+summall;
            matrix[i][j] = rand();
        
        //matrix[i][j]=(rand()%100-20)*2.71*(-((i-math_f)*(i-math_f))/(2*dispers))*(sqrt(2*3.14159265*dispers));
            cout <<setw(5)<< matrix[i][j] << " ";
        }
        cout << endl; 
        
    }
 
        cout<<"================================"<<endl;
    for(int i = 0; i<m;i++)
    {
        int maxValue=0;
        int Index =-1;
        for(int j = 0; j < n-1; j++)
        {
                
            if((matrix[j][i]>matrix[j+1][i])&&(matrix[j][i]>maxValue))
            {   
                maxValue = matrix[j][i];
                Index =j;
            }
    
            matrix[i][j+1]-=matrix[i][j+0];
        
                    }
        cout<<"В "<<i+1<<" ствобцi максимальний елемент  "<<maxValue<<", з iндексом "<<Index+1<<endl;
        
    }
 
        cout<<"================================"<<endl;
 for (int i=0; i<n; i++)
    {  
        double s=0;
        for (int j=0; j<m; j++)
        {   
            
            s=s+(*(*(matrix+i)+j))*(*(*(matrix+i)+(j)));
            cout <<setw(5)<< matrix[i][j] << " ";
        }
        cout<<"СКВ="<<s/n<<"\t"<<endl;
        cout << endl << endl;
    }
 
    _getch();
    return 0; 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2013, 02:02
Ответы с готовыми решениями:

генератор чисел
Прошу Вас помочь мне в написание лабораторной работы, мне нужна на языке С...

Генератор чисел
числа до 100 помещаются в контейнер, перемешиваются и по нажатии &lt;1&gt;+Enter...

Генератор чисел
Здравствуйте. пишу вот такую программу. Генерирует случайные числа. Но каждый...

Генератор чисел 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, ...
Написать программу выдающее каждую секунду очередное число последовательности ...

Генератор чисел
«ГНЧЭ-1» — сложное электронное устройство, выдающее каждую секунду очередное...

3
stima
495 / 345 / 93
Регистрация: 22.03.2011
Сообщений: 1,107
Завершенные тесты: 2
03.12.2013, 02:20 2
Какую функцию Вы не можете приспособить?
0
homerager
0 / 0 / 2
Регистрация: 28.11.2013
Сообщений: 15
03.12.2013, 13:14  [ТС] 3
Название: Безымянный.png
Просмотров: 83

Размер: 1,012 байт
вот эта функция
Я её описал так но работает оно не корекно(
C++
1
matrix[i][j]=(rand()%100-20)*2.71*(-((j-math_f)*(j-math_f))/(2*dispers))*(sqrt(2*3.14159265*dispers));
0
stima
495 / 345 / 93
Регистрация: 22.03.2011
Сообщений: 1,107
Завершенные тесты: 2
03.12.2013, 13:25 4
Нормальный закон распределения никто напраямую не имплементирует. Возьмите одно из приближений.
1. Равномерное распределенных случайных величин стремится к нормальному.
2. Преобразование Бокса — Мюллера

3. Если разрешено, то уже готовую имплементацию - std::normal_distribution.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2013, 13:25

Генератор чисел
Народ подскажыте пожалуста как создать свой генератор чисел.

Генератор случайных чисел
Пишу курсовую по криптографии, для генерации ключей, естественно, нужен...

Генератор псевдослучайных чисел
Данный генератор работает по конгруэнтному методу, формула X_{n} = ( a...


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

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

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