Я создал небольшую программу, которая объединяет два массива с использованием алгоритма сортировки слиянием, но на удивление прекращает работу при выполнении ... у него нет ошибок компиляции.C++, exe прекратил работу во время выполнения
#include<iostream>
#include<array>
using namespace std;
int main()
{
// below are declarations of two single dimensional arrays and two variables
int n1,n2,t1,t2,t3;
int l1 [5] = {2,1,4,3,5};
int l2 [5] = {8,6,7,9,10};
int l3 [10];
n1 = l1[4] - l1[0] +1;
n2 = l2[4] - l2[0] +1;
//below are the declaration and initialization of two pointers
t1 = l1[0];
t2 = l2[0];
t3 = l3[0];
while((n1>0) && (n2>0))
{
if (l1[t1] < l2[t2])
{
l3[t3] = l1[t1];
t1++;
t3++;
n1--;
cout<<l3[t3]<<endl;
}
else
l3[t3] = l2[t2];
t2++;
t3++;
n2--;
}
}
Я до сих пор не решили, выход программы
Запустите свой код под отладчиком, чтобы узнать, где произошло исключение. –
Вы пропустили несколько скобок на своем? Я отредактировал форматирование так, чтобы ваш код был читабельным, но для меня это похоже на то, что у вас отсутствуют некоторые скобки. – drescherjm
Возможно, все, что после 'else' должно быть в блоке' else'? – Blob