Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Реши задачу C++.

Код не комментируй.
Используй using namespace std;
Удалить из контейнера все чётные элементы. Вставить в контейнер на каждую третью позицию число 111. В качестве контейнера будет вектор, который надо будет заполнить случайными числами в интервале от 0 до 10, а второй вектор случайными числами от 0 до 100. Двухзначные числа заменить на четырёхзначные, а трёхзначные на пятизначные.

По дате
По рейтингу
Аватар пользователя
Просветленный
7мес
12345678910111213141516171819202122232425262728293031323334353637383940414243
 #include <iostream> 
#include <vector> 
#include <algorithm> 
#include <random> 
 
using namespace std; 
 
int main() { 
    random_device rd; 
    mt19937 gen(rd()); 
    uniform_int_distribution<> distrib1(0, 10); 
    uniform_int_distribution<> distrib2(0, 100); 
 
    vector<int> v1(15); 
    vector<int> v2(15); 
 
    for (int i = 0; i < 15; ++i) { 
        v1[i] = distrib1(gen); 
        v2[i] = distrib2(gen); 
    } 
 
    v1.erase(remove_if(v1.begin(), v1.end(), [](int n){ return n % 2 == 0; }), v1.end()); 
 
    for (int i = 2; i < v1.size(); i += 3) { 
        v1.insert(v1.begin() + i, 111); 
    } 
 
    for (int i = 0; i < v2.size(); ++i) { 
        if (v2[i] >= 10 && v2[i] < 100) { 
            v2[i] = v2[i] * 100 + 1000; 
        } else if (v2[i] >= 100 && v2[i] < 1000) { 
            v2[i] = v2[i] * 10 + 10000; 
        } 
    } 
 
 
    for (int x : v1) cout << x << " "; 
    cout << endl; 
    for (int x : v2) cout << x << " "; 
    cout << endl; 
 
    return 0; 
} 
Аватар пользователя
Просветленный
7мес
123456789101112131415161718192021222324252627282930313233343536373839404142
 #include <bits/stdc++.h> 
using namespace std; 
 
int main(){ 
    srand(time(0)); 
    int size1 = 20, size2 = 20; 
    vector<int> vec1, vec2; 
    for(int i = 0; i < size1; i++) vec1.push_back(rand() % 11); 
    for(int i = 0; i < size2; i++) vec2.push_back(rand() % 101); 
     
    vec1.erase(remove_if(vec1.begin(), vec1.end(), [](int x) { return x % 2 == 0; }), vec1.end()); 
    vec2.erase(remove_if(vec2.begin(), vec2.end(), [](int x) { return x % 2 == 0; }), vec2.end()); 
     
    for(int i = 2; i <= vec1.size(); i += 3){ 
        vec1.insert(vec1.begin() + i, 111); 
    } 
    for(int i = 2; i <= vec2.size(); i += 3){ 
        vec2.insert(vec2.begin() + i, 111); 
    } 
     
    for(auto &x : vec1){ 
        if(x >= 10 && x <= 99){ 
            x *= 100; 
        } 
        else if(x >= 100 && x <= 999){ 
            x *= 100; 
        } 
    } 
    for(auto &x : vec2){ 
        if(x >= 10 && x <= 99){ 
            x *= 100; 
        } 
        else if(x >= 100 && x <= 999){ 
            x *= 100; 
        } 
    } 
     
    for(auto x : vec1) cout << x << ' '; 
    cout << endl; 
    for(auto x : vec2) cout << x << ' '; 
    return 0; 
}