Другие языки программирования и технологии
Можете пожалуйста помочь с программой на C++.
Можете пожалуйста написать программу которая выведет все элементы массива значения которых не равняются 0 и меньше 53. То есть ты вводишь количество элементов массива например 10, потом выводит тебе оригинальный массив, и потом же выводит измененный.
> и потом же выводит измененный.
В изначальном задании нет ничего про изменение массива, нужно просто вывести подходящие под условие элементы.
#include <ctime>
#include <cstdlib>
#include <iterator>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
srand(time(0));
int n;
cout << "array size? ";
cin >> n;
int *a = new int[n];
generate_n(a, n, [](){ return rand() % 100; });
cout << "array:\n";
copy(a, a + n, ostream_iterator<int>(cout, " "));
cout << "\n\nnot equal zero and less then 53:\n";
copy_if(a, a + n, ostream_iterator<int>(cout, " "), [](int x){ return x != 0 && x < 53; });
cout << '\n';
delete[] a;
}
Ну а изменить сам исходный массив, тоже не проблема:
#include <ctime>
#include <cstdlib>
#include <iterator>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
srand(time(0));
int n;
cout << "array size? ";
cin >> n;
int *a = new int[n];
generate_n(a, n, [](){ return rand() % 100; });
cout << "array:\n";
copy(a, a + n, ostream_iterator<int>(cout, " "));
n = remove_if(a, a + n, [](int x){ return x != 0 && x < 53; }) - a;
cout << "\n\nresult:\n";
copy(a, a + n, ostream_iterator<int>(cout, " "));
cout << '\n';
delete[] a;
}
В изначальном задании нет ничего про изменение массива, нужно просто вывести подходящие под условие элементы.
#include <ctime>
#include <cstdlib>
#include <iterator>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
srand(time(0));
int n;
cout << "array size? ";
cin >> n;
int *a = new int[n];
generate_n(a, n, [](){ return rand() % 100; });
cout << "array:\n";
copy(a, a + n, ostream_iterator<int>(cout, " "));
cout << "\n\nnot equal zero and less then 53:\n";
copy_if(a, a + n, ostream_iterator<int>(cout, " "), [](int x){ return x != 0 && x < 53; });
cout << '\n';
delete[] a;
}
Ну а изменить сам исходный массив, тоже не проблема:
#include <ctime>
#include <cstdlib>
#include <iterator>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
srand(time(0));
int n;
cout << "array size? ";
cin >> n;
int *a = new int[n];
generate_n(a, n, [](){ return rand() % 100; });
cout << "array:\n";
copy(a, a + n, ostream_iterator<int>(cout, " "));
n = remove_if(a, a + n, [](int x){ return x != 0 && x < 53; }) - a;
cout << "\n\nresult:\n";
copy(a, a + n, ostream_iterator<int>(cout, " "));
cout << '\n';
delete[] a;
}
Писать код не буду, но напишу как сделать это:
1. Чтобы вывести все элементы массива которые не равны 0 и меньше 53, просто используй два условия в IF в цикле перебора (==итерация) . Вот так
for_each(array ...)
if (a !== 0 && a < 53){
// можно выводить
}
2. Чтобы выводить один изменный, а один оригинальный - для этого просто создай функцию, которая будет принимать в кач-ве аргумента тот массив и "изменять" его.
1. Чтобы вывести все элементы массива которые не равны 0 и меньше 53, просто используй два условия в IF в цикле перебора (==итерация) . Вот так
for_each(array ...)
if (a !== 0 && a < 53){
// можно выводить
}
2. Чтобы выводить один изменный, а один оригинальный - для этого просто создай функцию, которая будет принимать в кач-ве аргумента тот массив и "изменять" его.
Похожие вопросы
- Помогите пожалуйста! нужно написать программу на C++
- Помогите написать программу в C# пожалуйста!
- Помогите с программой Dev C++
- Помогите написать программу по C++
- Помогите написать программу на C/C++
- помогите написать программу на c++
- Помогите написать программу в C++
- Помогите пожалуйста перевести код программы с C++ на Си.
- Пожалуйста, помогите с программой C++
- Помогите написать программу на C++