-2
我在我的程序中放入了兩個循環 - 一個用一個值N0填充二維數組,另一個循環產生隨機數。當我有循環數組時,我的程序不工作。我得到「未處理的異常...(參數:0x00000003)」。但沒有第一個循環,它能正常工作。感謝幫助。C++二維數組和增強隨機數發生器
#include <iostream>
#include <vector>
#include <boost/random/mersenne_twister.hpp>
#include <boost/random/uniform_int_distribution.hpp>
using namespace std;
const double czas = 1E9;
int main()
{
//Declaration of variables
const int k = 20;
const int L = 30;
double N0 = 7.9E9;
int t,i,j, WalkerAmount;
double excitation, ExcitationAmount;
double slab[30][600];
//Random number generator
boost::random::mt19937 gen;
boost::random::uniform_int_distribution<> numberGenerator(1, 4);
//Filling slab with excitation
for (int i = 0; i <= L; i++)
{
for (int j = 0; j <= k*L; j++) { slab[i][j] = N0; }
}
//Time loop
for (t = 0; t < czas; t++) {
WalkerAmount = 0;
ExcitationAmount = 0;
for (int i = 0; i <= L; i++)
{
for (int j = 0; j <= k*L; j++)
{
int r = numberGenerator(gen);
cout << r << endl;
}
}
}
system("pause");
return 0;
}
如何定義你的'slab'陣列? C++中的數組索引從'0'到'n-1',其中'n'是數組的容量。所以初始化'slab'的循環可能是錯誤的。 –
請提及'L'和'K'的值...也...... .... slab [i] [j] = N0;'......'NO'是什麼意思? –
@ThomasWillmotte'雙層板[30] [600]',我嘗試從'0'的索引,但它不工作'const int k = 20,const int L = 30 double N0 = 7.9E9' – Witek