Как разделить массив на два массива в С++?

Нужно разделить массив на две части, те есть массив {1,2,3,4,5,6} тогда в первом массиве будет {1,2,3}, во втором {4,5,6}. Реализовала вот так:

void sliv_sort(double mas[], int n){
using namespace std;
int a,b;
if (n%2 == 0)
    a = b = n/2;
else if (n%2 != 2){
    int s = n-1;
    a = s/2;
    b = s/2 +1;
}
double mas1[a];
double mas2[b];

for (int i = 0; i<a; i++){
    mas1[i] = mas[i];
}
for (int j = n-b; j<n; j++){
    mas2[j] = mas[j];
}

Я передаю в функцию массив и его размер, далее произвожу его деление. И если в этих циклах выводить mas1 и mas2, то деление код производит правильно. НО! Происходит какая-то путаница с индексами в дальнейшем. Те если выводить символы массивов вне этих циклов, будет выводится полная неразбериха. Подскажите, что не так с моим кодом или как по-другому можно это реализовать.


Ответы (0 шт):