Другие языки программирования и технологии

Help me!Удалить элементы кратные 2. Добавить после каждого нечетного элемента массива элемент со значением 0. си++

Alexey Svirine
Alexey Svirine
2 388
Повеселило:
(int)(((double)rand()/(double)RAND_MAX)*(rmax-rmin)+rmin) );
:)
после удаления "элементов кратных 2" останутся элементы с нечётными значениями.
"Добавить после каждого нечетного элемента массива"
нечётный элемент по порядку или нечётное значение самого элемента?
Добавить - значит увеличить массив? Если увеличить, то размер может оказаться больше исходного.
А удаление и добавление это тема не для автоматических массивов.
Алексей Голубцов
Алексей Голубцов
76 473
Лучший ответ
Антон Гармышев int N=100;
int arr[100], i;

И такое прокатит? У меня требует, хотя бы, const int N=100;
Антон Гармышев #include <iostream>
#include <iomanip>
using namespace std;
int main() {
    const size_t N = 25;
    unsigned a[N];
    for (size_t n = 0; n < N; n++) a[n] = n + 1;
    streamsize w = 3;
    for (size_t n = 0; n < N; n++) cout
#include <ctime>
#include <vector>
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <algorithm>

using namespace std;

int main() {
    srand(time(0));
    vector<int> a(100);
    cout << "начальный массив: \n";
    for (auto &e : a) cout << setw(4) << (e = rand() % 101 - 50);
    a.erase(remove_if(begin(a), end(a), [](int e){ return !(e % 2); }), end(a));
    cout << "\nпосле удаления кратных двум: \n";
    for (auto e : a) cout << setw(4) << e;
    int n = a.size() / 2;
    for (int i = 1; i <= n; ++i) a.insert(begin(a) + i * 3 - 1, 0);
    cout << "\n" << a.size();
    cout << "\nпосле вставки нулей: \n";
    for (auto e : a) cout << setw(4) << e;
    return 0;
}
Илья Кудряшов Не понял только i * 3 :)
Эээххх девчонка с такими знаниями, интересно кем ты стала спустя 6 лет)))
Я не понял вопроса!