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

Запись случайных чисел в массив - C++

Восстановить пароль Регистрация
 
pro_mary
1 / 1 / 0
Регистрация: 23.03.2009
Сообщений: 99
28.05.2011, 12:49     Запись случайных чисел в массив #1
Подскажите, пожалуйста, в чем проблема.
C++
1
2
3
4
5
#include <random>
...
std::tr1::mt19937 eng;
std::tr1::poisson_distribution<double>poisson(5.0);
std::cout << poisson(eng) << std::endl;
- это для генерирования случайной величины, распределенной по закону пуассона.
Есть следующий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
#include <random>
 
int _tmain(int argc, _TCHAR* argv[])
{
    std::tr1::mt19937 eng;
    std::tr1::poisson_distribution<double>poisson(5.0);
    int n;
    std::cout << "Enter n:";
    std::cin >> n;
 
    double *A = new double[];
 
    for (int i = 0; i < n; i++)
        std::cout << poisson(eng) << "\n";
 
    delete []A;
 
//  system("pause");
    return 0;
}
Он рабочий. Когда пытаюсь создать массив из случайных чисел, распределенных по закону пуассона, компилятор не ругается, но и программа не работает, ошибка появляется после введения числа итераций..
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
#include "stdafx.h"
#include <iostream>
#include <random>
 
int _tmain(int argc, _TCHAR* argv[])
{
    std::tr1::mt19937 eng;
    std::tr1::poisson_distribution<double>poisson(5.0);
    int n;
    std::cout << "Enter n:";
    std::cin >> n;
 
    double *A = new double[];
 
    for (int i = 0; i < n; i++)
//      std::cout << poisson(eng) << "\n";
        A[i] = poisson(eng);
 
    for (int i = 0; i < n; i++)
        std::cout << A[i] << "\n";
 
    delete []A;
 
//  system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
28.05.2011, 12:57     Запись случайных чисел в массив #2
вы не указали число элементов массива при его создании
C++
1
double *A = new double[n];
А вообще странно, что код компилировался с такой ошибкой.
pro_mary
1 / 1 / 0
Регистрация: 23.03.2009
Сообщений: 99
28.05.2011, 13:04  [ТС]     Запись случайных чисел в массив #3
ужос то какой... вот я
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
28.05.2011, 14:46     Запись случайных чисел в массив #4
Цитата Сообщение от Ma3a Посмотреть сообщение
А вообще странно, что код компилировался с такой ошибкой.
В мире много странного...
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main(){
    int * a = new int[];
    *a = 13;
    std::cout << *a << std::endl;
    return 0;
}
что не удивительно,
Запись случайных чисел в массив

а вот это странно:
Запись случайных чисел в массив
Видимо, мелкомягкий хоть из одного элемента, да создаст массив...
Yandex
Объявления
28.05.2011, 14:46     Запись случайных чисел в массив
Ответ Создать тему
Опции темы

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