Задание
Написать фрагмент программы, удаляющий i-й элемент из массива целых чисел размера N, i <= N. Фрагмент оформить в виде функции, массив передать в функцию через параметры.
листинг кода
#include"iostream"
using namespace std;
#include
bool iDel(int *array, int &lenAr, int nom);
int main()
{
int length_array;
cout << "Укажите количество элементов массива: ";
cin >> length_array;
int *arrayPtr = new int [length_array]; // одномерный динамический массив
// заполняем одномерный массив случайными числами
for (int counter = 0; counter < length_array; counter++)
{
arrayPtr[counter] = rand() % 100; // генерируем случайные числа
cout << arrayPtr[counter] << " "; // вывод сгенерированного числа
}
cout << endl;
int n;
cout << "Укажите номер элемента массива, который необходимо удалить: ";
cin >> n;
iDel(arrayPtr, length_array, n);
for (int counter = 0; counter < length_array; counter++)
{
cout << arrayPtr[counter] << " "; // вывод сгенерированного числа
}
cout << endl;
delete [] arrayPtr;
return 0;
}
bool iDel(int *array, int &lenAr, int nom)
{
if ( nom > lenAr || nom < 1)
{
cout << "Ошибка удаления" << endl;
return false;
}
for(int ix = nom - 1; ix < lenAr - 1; ix++)
{
array[ix] = array[ix + 1];
}
lenAr--;
return true;
}
результат
Похожие публикации
2015-06-30 • Просмотров [ 3257 ]