7мес



Программирование
+2Реши задачу C++.
Код не комментируй.
Используй using namespace std;
Удалить из контейнера все чётные элементы. Вставить в контейнер на каждую третью позицию число 111. В качестве контейнера будет вектор, который надо будет заполнить случайными числами в интервале от 0 до 10, а второй вектор случайными числами от 0 до 100. Двухзначные числа заменить на четырёхзначные, а трёхзначные на пятизначные.
По дате
По рейтингу
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;
}
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;
}
Больше по теме