Оно и понятно. Массив создался одномерный. Как сделать двумерный?
"Физически" нет 2-мерных, на самом деле все это дела адресной арифметики. Лучше сказать
"как мне сделать так чтобы можно было обращаться"
Способов много, напр
C++ (Qt)
typedef double TPair[2];
TPair * BL = new TPair[kt + 1];
BL[0][0] = 1.0;
Да и так уж нужен именно 2-мерный? Спокойно можно все делать с одномерным
C++ (Qt)
double * BL = new double[(kt + 1) * 2];
BL[i * 2 + 0] = 1.0; // BL[i][0]
BL[i * 2 + 1] = 1.0; // BL[i][1]
Позже переделаю. А пока, для экономии места, написал так.
Хм... нет ничего более постоянного чем временное
Попробуйте снести все написанное к чертовой бабушке и написать "капитально" с продуманными структурами данных. Это совсем не так страшно как на первый взгляд. А цепляясь за имеющийся код Вы намного больше времени потеряете, да и не очень приятно то старье латать. Живите красиво/шикарно