C/C++
Задача по Массивах С++ Дано натуральное число N...
Дано натуральное число N и массив, содержащий N натуральных чисел (каждое число массива не более 1000000). Изменить расположение элементов массива таким образом, чтобы сначала в нем шли нечетные элементы, а затем - парные (порядок нечетных и четных элементов - несущественный).
#include <algorithm>
#include <iostream>
#include <iomanip>
#include <string>
#include <random>
using namespace std;
bool found(int num, char dig) {
return to_string(num).find(dig) != string::npos;
}
pair<unsigned, long long> statistic(int* box, size_t len, char dig) {
auto acc = 0LL;
auto cnt = 0U;
for (auto i = 0U; i < len; ++i) {
if (found(box[i], dig)) {
acc += box[i];
++cnt;
}
}
return { cnt, acc };
}
void detach(int* box, size_t len) {
auto copmare = [](int a, int b) { return (a & 1) > (b & 1); };
sort(box, box + len, copmare);
}
unsigned length(const char* msg) {
cout << msg;
unsigned value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
char sign(const char* msg) {
cout << msg;
char value = cin.get();
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
void fill(int* box, size_t len, int l, int r) {
uniform_int_distribution<> uid(l, r);
mt19937 gen{ random_device()() };
for (auto i = 0U; i < len; ++i) {
box[i] = uid(gen);
}
}
void show(int* box, size_t len, streamsize w) {
for (auto i = 0U; i < len; ++i) {
cout << setw(w) << box[i];
}
puts("");
}
int main() {
auto len = length("N: ");
auto box = new int[len];
fill(box, len, 1, 1000000);
show(box, len, 8);
detach(box, len);
show(box, len, 8);
delete[] box;
system("pause > nul");
}
#include <iostream>
#include <iomanip>
#include <string>
#include <random>
using namespace std;
bool found(int num, char dig) {
return to_string(num).find(dig) != string::npos;
}
pair<unsigned, long long> statistic(int* box, size_t len, char dig) {
auto acc = 0LL;
auto cnt = 0U;
for (auto i = 0U; i < len; ++i) {
if (found(box[i], dig)) {
acc += box[i];
++cnt;
}
}
return { cnt, acc };
}
void detach(int* box, size_t len) {
auto copmare = [](int a, int b) { return (a & 1) > (b & 1); };
sort(box, box + len, copmare);
}
unsigned length(const char* msg) {
cout << msg;
unsigned value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
char sign(const char* msg) {
cout << msg;
char value = cin.get();
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
void fill(int* box, size_t len, int l, int r) {
uniform_int_distribution<> uid(l, r);
mt19937 gen{ random_device()() };
for (auto i = 0U; i < len; ++i) {
box[i] = uid(gen);
}
}
void show(int* box, size_t len, streamsize w) {
for (auto i = 0U; i < len; ++i) {
cout << setw(w) << box[i];
}
puts("");
}
int main() {
auto len = length("N: ");
auto box = new int[len];
fill(box, len, 1, 1000000);
show(box, len, 8);
detach(box, len);
show(box, len, 8);
delete[] box;
system("pause > nul");
}
#include "iostream"
#include "ctime"
#include "cstdlib"
#include "algorithm"
using namespace std;
int main(){
int n; cout<<"n: "; cin>>n; int *a= new int[n]; srand(time(NULL));
for(int i=0;i< n;i++)cout<<(a[i]=rand()%100000)<<'\t'; cout<<'\n';
for(int i=0,k=0;i< n;i++)if(a[i]&1)swap(a[i],a[k]),k++;
for(int i=0;i< n;i++)cout<<a[i]<<'\t'; cout<<'\n';}
#include "ctime"
#include "cstdlib"
#include "algorithm"
using namespace std;
int main(){
int n; cout<<"n: "; cin>>n; int *a= new int[n]; srand(time(NULL));
for(int i=0;i< n;i++)cout<<(a[i]=rand()%100000)<<'\t'; cout<<'\n';
for(int i=0,k=0;i< n;i++)if(a[i]&1)swap(a[i],a[k]),k++;
for(int i=0;i< n;i++)cout<<a[i]<<'\t'; cout<<'\n';}
Что значит парные?
Похожие вопросы
- С++. БЕЗ ИСПОЛЬЗОВАНИЯ АДРЕСОВ И УКАЗАТЕЛЕЙ. Пусть дано натуральное число n и вещественная матрица размером n x 10.
- C++ Дано натуральное число N. Вычислить
- На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
- Язык си Найти все делители натурального числа N и вывести их в порядке возрастания и убывания.
- Заданы натуральное число n и действительные числа a1, a2, …, an. Вычислить
- Даны два числа: n и m. Создайте двумерный массив размером n×m и заполните его в соответствии с примером.
- Си. Цикл for. Что не так? Составить программу вывода на экран всех простых чисел не превосходящих введеннного числа N
- Нужно решить задачу с массивами на C++
- Отразить двумерный массив с размером m x n относительно побочной диагонали
- Задача по Массивах С++