Из элементов массива А из n элементов, стоящих на нечетных местах и расположенных правее минимального элемента данной последовательности, сформировать новый массив C. Для формирования массива С напишите функцию с использованием указателей.
Не могу понять почему в нулевой эллемент массива попадает мусор, а не то что нужно... Помогите разобраться.
Код: Выделить всё
void fillMas(int *, int);
void printMas(int *, int);
int *created_mas(int*, int, int*, int);
void main() {
srand(time(NULL));
int size, size2 = 0, index_min = 0;
cin >> size;
int *arr = new int[size];
fillMas(arr, size);
printMas(arr, size);
for (int i = 1; i < size; i++)
if (arr[index_min] > arr[i])
index_min = i;
for (int i = index_min + 1; i < size; i++)
if (i % 2 != 0)
size2++;
int *result_arr = new int[size2];
*result_arr = *created_mas(arr, size, result_arr, index_min);
printMas(result_arr, size2);
delete[] arr;
delete[] result_arr;
arr = nullptr;
result_arr = nullptr;
}
void fillMas(int *mas, int size) {
for (int i = 0; i < size; i++)
*(mas + i) = rand() % 90 + 10;
}
void printMas(int *mas, int size) {
for (int i = 0; i < size; i++)
cout << *mas++ << " ";
cout << endl;
}
int *created_mas(int* a, int size, int* b, int min) {
for (int i = min + 1; i < size; i++)
if (i % 2 != 0) {
*b++ = *(a + i);
}
return b;
}
[ATTACH]2469[/ATTACH]