1)Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
2)Распечатать полученный массив.
3)Удалить все элементы равные 0.
4)Добавить после первого четного элемента массива элемент со значением M[ I-1 ]+2.
5)Распечатать полученный массив.
C/C++
Одномерный массив нужна программа срочно)
#include <iostream>
#include <ctime>
using namespace std;
int main() {
int ar[50];
cout << "Enter a size of the array: ";
int size;
cin >> size;
cout << "\nThe array: ";
srand(time(0));
for (int i = 0; i < size; ++i) {
cout << (ar[i] = rand() % 41 - 20) << " ";
}
cout << "\n";
for (int i = 0; i < size; ++i) {
if (ar[i] == 0) {
for (int j = i; j + 1 < size; ++j) ar[j] = ar[j + 1];
--size;
}
}
int first_even = 0;
for (int i = 0; i < size; ++i) {
if (ar[i] % 2 == 0) {
first_even = i;
break;
}
}
for (int i = size++; i > first_even; --i) {
ar[i] = ar[i - 1];
}
ar[first_even+1] = (first_even? ar[first_even-1]+2 : ar[size-1]+2);
cout << "\nThe modified array: ";
for (int i = 0; i < size; ++i) cout << ar[i] << " ";
cout << "\n";
return 0;
}
#include <ctime>
using namespace std;
int main() {
int ar[50];
cout << "Enter a size of the array: ";
int size;
cin >> size;
cout << "\nThe array: ";
srand(time(0));
for (int i = 0; i < size; ++i) {
cout << (ar[i] = rand() % 41 - 20) << " ";
}
cout << "\n";
for (int i = 0; i < size; ++i) {
if (ar[i] == 0) {
for (int j = i; j + 1 < size; ++j) ar[j] = ar[j + 1];
--size;
}
}
int first_even = 0;
for (int i = 0; i < size; ++i) {
if (ar[i] % 2 == 0) {
first_even = i;
break;
}
}
for (int i = size++; i > first_even; --i) {
ar[i] = ar[i - 1];
}
ar[first_even+1] = (first_even? ar[first_even-1]+2 : ar[size-1]+2);
cout << "\nThe modified array: ";
for (int i = 0; i < size; ++i) cout << ar[i] << " ";
cout << "\n";
return 0;
}
// Если после первого чётного то вот так
#include <algorithm>
#include <iostream>
#include <random>
using namespace std;
int* create(int size);
int* destroy(int* arr);
void fill_random(int* arr, int size, int min, int max);
void print(int* arr, int size);
int* delete_zero(int* arr, int& size);
int* insert(int* arr, int& size, int* to, int value);
int main() {
int size = 10;
auto arr = create(size);
fill_random(arr, size, 0, 5);
print(arr, size);
arr = delete_zero(arr, size);
print(arr, size);
auto pred = [](int x) { return ~x & 1; };
auto pos = find_if(arr, arr + size, pred);
if (pos != arr + size) {
arr = insert(arr, size, pos + 1, *(pos) + 2);
print(arr, size);
}
arr = destroy(arr);
system("pause > nul");
}
int* create(int size) {
return new int[size];
}
int* destroy(int* arr) {
if (arr != nullptr) {
delete[] arr;
arr = nullptr;
}
return arr;
}
void fill_random(int* arr, int size, int min, int max) {
uniform_int_distribution<> uid(min, max);
mt19937 gen{ random_device()() };
auto rand = [&] { return uid(gen); };
generate(arr, arr + size, rand);
}
void print(int* arr, int size) {
auto print = [](int x) { cout << x << ' '; };
for_each(arr, arr + size, print);
puts("");
}
int* delete_zero(int* arr, int& size) {
auto zero = find(arr, arr + size, 0);
auto is_zero = [](int x) { return x == 0; };
auto it = remove_if(arr, arr + size, is_zero);
auto nsize = it - arr;
auto tmp = create(nsize);
copy(arr, arr + nsize, tmp);
size = nsize;
arr = destroy(arr);
arr = create(size);
copy(tmp, tmp + size, arr);
tmp = destroy(tmp);
return arr;
}
int* insert(int* arr, int& size, int* to, int value) {
auto tmp = create(size + 1);
copy(arr, arr + size, tmp);
auto it = tmp + size;
to = tmp + (to - arr);
while (it != to) {
*it = *(it - 1);
--it;
}
*it = value;
++size;
arr = destroy(arr);
arr = create(size);
copy(tmp, tmp + size, arr);
tmp = destroy(tmp);
return arr;
}
#include <algorithm>
#include <iostream>
#include <random>
using namespace std;
int* create(int size);
int* destroy(int* arr);
void fill_random(int* arr, int size, int min, int max);
void print(int* arr, int size);
int* delete_zero(int* arr, int& size);
int* insert(int* arr, int& size, int* to, int value);
int main() {
int size = 10;
auto arr = create(size);
fill_random(arr, size, 0, 5);
print(arr, size);
arr = delete_zero(arr, size);
print(arr, size);
auto pred = [](int x) { return ~x & 1; };
auto pos = find_if(arr, arr + size, pred);
if (pos != arr + size) {
arr = insert(arr, size, pos + 1, *(pos) + 2);
print(arr, size);
}
arr = destroy(arr);
system("pause > nul");
}
int* create(int size) {
return new int[size];
}
int* destroy(int* arr) {
if (arr != nullptr) {
delete[] arr;
arr = nullptr;
}
return arr;
}
void fill_random(int* arr, int size, int min, int max) {
uniform_int_distribution<> uid(min, max);
mt19937 gen{ random_device()() };
auto rand = [&] { return uid(gen); };
generate(arr, arr + size, rand);
}
void print(int* arr, int size) {
auto print = [](int x) { cout << x << ' '; };
for_each(arr, arr + size, print);
puts("");
}
int* delete_zero(int* arr, int& size) {
auto zero = find(arr, arr + size, 0);
auto is_zero = [](int x) { return x == 0; };
auto it = remove_if(arr, arr + size, is_zero);
auto nsize = it - arr;
auto tmp = create(nsize);
copy(arr, arr + nsize, tmp);
size = nsize;
arr = destroy(arr);
arr = create(size);
copy(tmp, tmp + size, arr);
tmp = destroy(tmp);
return arr;
}
int* insert(int* arr, int& size, int* to, int value) {
auto tmp = create(size + 1);
copy(arr, arr + size, tmp);
auto it = tmp + size;
to = tmp + (to - arr);
while (it != to) {
*it = *(it - 1);
--it;
}
*it = value;
++size;
arr = destroy(arr);
arr = create(size);
copy(tmp, tmp + size, arr);
tmp = destroy(tmp);
return arr;
}
Решебник в помощь!
Похожие вопросы
- Создать одномерный массив, состоящий из n вещественных элементов. Элементы массива определить при помощи случайных чисел
- Для всех задач сформировать одномерный массив N случайных чисел из интервала (-10; 10).
- C++ одномерный массив
- Помогите пожалуйста написать программу небольшую в C++. Одномерный массив
- Задан одномерный массив целых чисел создать код на C++
- Одномерный массив в C++
- В файле дана двухмерная матрица, сформировать одномерный массив длинной N из чётных элементов квадратной матрицы
- Информатика нужна программа
- Нужна программа на языке С.
- Задача Программирование C++ Нужна программа на С++