Ю*
Юлёк ***

Удалить все элементы с нечетными индексами. нужно написать прогу на С++

Ан
Аня

#include
using namespace std;
void removal_on_odd_indexes(int *, size_t &, unsigned n = 0);
void create(int *, const size_t, unsigned n = 0);
void show(int *, const size_t, unsigned n = 0);
int main() {
size_t size_1 = 5, size_2 = 6;
int * test_1 = new int [size_1];
create(test_1, size_1);
show(test_1, size_1);
cout << endl;
removal_on_odd_indexes(test_1, size_1);
show(test_1, size_1);
cout << endl;
int * test_2 = new int [size_2];
create(test_2, size_2);
show(test_2, size_2);
cout << endl;
removal_on_odd_indexes(test_2, size_2);
show(test_2, size_2);
delete[] test_1; test_1 = NULL;
delete[] test_2; test_2 = NULL;
cin.get();
return 0;
}
void create(int * _v, const size_t _s, unsigned n) { while (n < _s) _v[n++] = n; }
void show(int * _v, const size_t _s, unsigned n) { while (n < _s) cout << ' ' << _v[n++]; }
void removal_on_odd_indexes(int * _v, size_t & _s, unsigned n) {
if (_v && _s > 1) {
size_t new_size = _s;
unsigned m = n, k;
while (m < _s) if (m++ & 1) --new_size;
int * temp = new int [_s];
k = m = n;
while (m < _s) temp[m++] = _v[k++];
delete[] _v; _v = NULL;
_v = new int [new_size];
k = m = n;
do if (~m & 1) _v[k++] = temp[m]; while (++m < _s);
_s = new_size;
delete[] temp; temp = NULL;
}
}

АШ
Алексей Шивыдкин

пишите в почту, сделаю

Похожие вопросы
Найти максимальный элемент среди элементов, имеющих нечетные индексы, расписать В ПАСКАЛЕ. Нужно срочно
Как удалить эту прогу?
В массиве из 100 элементов найти количество отрицательных элементов, минимальный элемент и его индекс.
Help me!Удалить элементы кратные 2. Добавить после каждого нечетного элемента массива элемент со значением 0. си++
Найти среди элементов массивов a и z два одинаковых элемента с наименьшими индексами и вывести их значения и индексы.
вычислить сумму нечетных элементов массива С++
нужно написать прогу в паскале
Нужно написать прогу с++
нужно написать небольшую прогу на с ++
В массиве индексы элементов должны быть