Задание
Написать фрагмент программы, удаляющий 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;
}
результат

Оценка - 1.0 (4)

 Похожие публикации
2015-06-30 • Просмотров [ 3043 ]