#помощь@cppstudio
Доброго времени суток. Прошу помощи.
Задача была следующей. Написать программу, которая удаляет элемент из массива. Количество элементов и номер удаляемого элемента задает пользователь. 
Элемент "удаляется", но в консоли появляется мусор. Как-будто я просто удаляю значение элемента, а из соседних элементов передаю значения на один элемент назад. В итоге в последнем элементе мусор.
#include 
#include 
 
using namespace std; 
 
void FillArray(int* const arr, int const size) // функция заполнения массива 
{ 
 for (int i = 0; i < size; i++) 
 { 
 arr[i] = rand() % 15; 
 } 
} 
void ShowArray(int* const arr, int const size) // функция вывода массива 
{ 
 for (int i = 0; i < size; i++) 
 { 
 cout « arr[i] « "\t"; 
 } 
 cout « endl; 
} 
void FUN(int*& arr, int& size) // функция удаления элемента из массива
{ 
 
 int* new_arrq = new int[size]; 
 cout « "Введите удаляемый элемент" « endl; 
 int offsize; 
 cin » offsize; 
 
 for (int i = 0; i < offsize; i++) 
 { 
 new_arrq[i] = arr[i]; 
 } 
 for (int i = offsize + 1; i < size; i++) 
 { 
 new_arrq[i - 1] = arr[i]; 
 } 
 delete[]arr; 
 arr= new_arrq; 
 
} 
void main() 
{ 
 SetConsoleCP(1251); 
 SetConsoleOutputCP(1251); 
 int size; 
 cout « "Введите размер массива" « endl; 
 cin » size; 
 int* arr = new int[size]; 
 FillArray(arr, size); 
 ShowArray(arr, size); 
 FUN(arr, size); 
 ShowArray(arr, size); 
 delete[]arr; 
} 
     
Комментарии