Код C++ о сортировке слиянием
Программа c ++ для слияния при выполнении показывает мне в выводе 8 ошибок, я думаю, что все они имеют размер массива, потому что он должен быть const. При выполнении массив делится пополам, что означает изменение размера массива. Не знаю, в этом ли причина, но я хочу, чтобы вы помогли мне как можно скорее. Благодарю
Что я уже пробовал:
#include<iostream>
использование пространства имен std;
пустота слияния(тип int а[], низкий интеллект, высокий инт, инт середине)
{
cout << "введенное слияние" < & lt; endl;
int n1 = high-low + 1;
int n2 = средний-высокий;
int L[n1 + 1] = 999;
int R[n2 + 1] = 999;
int i = 1, j = 1;
for (int i = 1; i <= n1; i++)
{
L[i] = a[low + i-1];
}
for (int j = 1; j <= n2; j++)
{
R[j] = a[high + j];
}
для (тип int к = низкое; к &ЛТ;= СЧ; к++)
{
если (L[i] <= R[j])
{
a[k] = L[i];
i = i + 1;
}
еще
{
a[k] = R[j];
j = j + 1;
}
}
}
пустота сортировка слиянием(тип int а[], int и низкий, высокий инт )
{
if (low < high)
{
инт середине;
mid = (low + high) / 2;
mergesort(a, low, high);
mergesort(a, mid + 1, high);
слияние (a, low, high, mid);
}
}
пустота главная()
{
int size = 7;
int a[7] = { 38, 43, 27, 3, 9, 82, 10 };
int low = 0;
int high = размер - 1;
mergesort(a, low, high);
for (int i = 0; i < 7; i++)
{
соиь <&ЛТ; а[я] &ЛТ;&ЛТ; " ";
}
cout < & lt; endl;
}
Patrice T
"при выполнении показывает мне на выходе 8 ошибок"
Какие ошибки ?
Member 13358623
8 ошибок :
Ошибка 1 ошибка C2057: ожидаемое постоянное выражение c:\users\aaaaaa\desktop\data structures\merge\merge\merge\main.cpp 83 1 слияние
Ошибка 2 ошибка C2466: не удается выделить массив постоянного размера 0 c:\users\aaaaaa\desktop\data structures\merge\merge\merge\main.cpp 83 1 слияние
Ошибка 3 ошибка C2440: "инициализация": не удается преобразовать из " int " в " int []" c:\users\aaaaaa\desktop\data structures\merge\merge\merge\main.cpp 83 1 слияние
Ошибка 4 ошибка C2057: ожидаемое постоянное выражение c:\users\aaaaaa\desktop\data structures\merge\merge\merge\main.cpp 84 1 слияние
Ошибка 5 ошибка C2466: не удается выделить массив постоянного размера 0 c:\users\aaaaaa\desktop\data structures\merge\merge\merge\main.cpp 84 1 слияние
Ошибка 6 ошибка C2440: "инициализация": не удается преобразовать из " int " в " int []" c:\users\aaaaaa\desktop\data structures\merge\merge\merge\main.cpp 84 1 слияние
7 IntelliSense: выражение должно иметь постоянное значение c:\Users\aaaaaa\Desktop\Data Structures\merge\merge\merge\main.cpp 83 9 слияние
8 IntelliSense: выражение должно иметь постоянное значение c:\Users\aaaaaa\Desktop\Data Structures\merge\merge\merge\main.cpp 84 9 слияние
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.