C/C++
Массив Х [36] целых элементов задать датчиком случайных чисел.
Массив Х [36] целых элементов задать датчиком случайных чисел. Переписать подряд в массив Y положительные и в массив Z отрицательные элементы массива Х и определить, сколько в массиве Y четных элементов.
#include <algorithm>
#include <iostream>
#include <iomanip>
#include <random>
using namespace std;
void show(int* a, const size_t n, const streamsize w = 3) {
for (auto i = 0U; i < n; ++i) cout << ' ' << setw(w) << a[i];
puts("\n");
}
int main() {
uniform_int_distribution<> uid(-36, 36);
mt19937 gen{ random_device()() };
int x[36];
for (auto& v : x) v = uid(gen);
auto greater = [](int v) { return v > 0; };
auto less = [](int v) { return v < 0; };
auto p = count_if(begin(x), end(x), greater);
auto n = count_if(begin(x), end(x), less);
auto y = new int[p];
auto z = new int[n];
auto i = 0, j = 0;
for (auto v : x) {
if (greater(v)) y[i++] = v;
if (less(v)) z[j++] = v;
}
auto even = [](int v) { return 0 == v % 2; };
auto e = count_if(y, y + p, even);
show(x, size(x));
show(y, p);
show(z, n);
cout << "Even Y: " << e << '\n';
delete[] y;
delete[] z;
system("pause > nul");
}
#include <iostream>
#include <iomanip>
#include <random>
using namespace std;
void show(int* a, const size_t n, const streamsize w = 3) {
for (auto i = 0U; i < n; ++i) cout << ' ' << setw(w) << a[i];
puts("\n");
}
int main() {
uniform_int_distribution<> uid(-36, 36);
mt19937 gen{ random_device()() };
int x[36];
for (auto& v : x) v = uid(gen);
auto greater = [](int v) { return v > 0; };
auto less = [](int v) { return v < 0; };
auto p = count_if(begin(x), end(x), greater);
auto n = count_if(begin(x), end(x), less);
auto y = new int[p];
auto z = new int[n];
auto i = 0, j = 0;
for (auto v : x) {
if (greater(v)) y[i++] = v;
if (less(v)) z[j++] = v;
}
auto even = [](int v) { return 0 == v % 2; };
auto e = count_if(y, y + p, even);
show(x, size(x));
show(y, p);
show(z, n);
cout << "Even Y: " << e << '\n';
delete[] y;
delete[] z;
system("pause > nul");
}
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
const int n = 36;
int X[n], Y[n], Z[n];
int iY = 0, iZ = 0;
int count = 0;
srand(time(NULL));
for(int x = 0; x < n; x++)
{
X[x] = rand() % 31 - 15;
cout << X[x] << ' ';
if(X[x] > 0)
{
Y[iY++] = X[x];
if(X[x] % 2 == 0) count++;
}
else if(X[x] < 0)
{
Z[iZ++] = X[x];
}
}
cout << endl << endl;
// выводим массив Y
cout << "Y : ";
for(int x = 0; x < iY; x++)
{
cout << Y[x] << ' ';
}
cout << endl << endl;
// выводим массив Z
cout << "Z : ";
for(int x = 0; x < iZ; x++)
{
cout << Z[x] << ' ';
}
cout << endl << endl;
cout << "В массиве Y " << count << " чётных элементов." << endl;
return 0;
}
#include <ctime>
using namespace std;
int main()
{
const int n = 36;
int X[n], Y[n], Z[n];
int iY = 0, iZ = 0;
int count = 0;
srand(time(NULL));
for(int x = 0; x < n; x++)
{
X[x] = rand() % 31 - 15;
cout << X[x] << ' ';
if(X[x] > 0)
{
Y[iY++] = X[x];
if(X[x] % 2 == 0) count++;
}
else if(X[x] < 0)
{
Z[iZ++] = X[x];
}
}
cout << endl << endl;
// выводим массив Y
cout << "Y : ";
for(int x = 0; x < iY; x++)
{
cout << Y[x] << ' ';
}
cout << endl << endl;
// выводим массив Z
cout << "Z : ";
for(int x = 0; x < iZ; x++)
{
cout << Z[x] << ' ';
}
cout << endl << endl;
cout << "В массиве Y " << count << " чётных элементов." << endl;
return 0;
}
Андрей Куров
не забывай голосовать у меня
..
Ссылка на читабельный код:
https://onlinegdb.com/9y9_-g3Dx
Так как задачей выводить числа не было, то в программе отсутствуют элементы вывода, как и заголовочный файл iostream.
Раскрытый код:
#include ctime //Для time
#include cstdlib //Для rand и srand
#include vector
//В местах где подключаются заголовочные файлы нужно прописать угловые скобки, потому что на ответах если что то писать в угловых скобках пропадает вместе с угловыми скобками.
using std::vector;
int generateRandom(int min, int max)
{
double fraction=1.0/(static_cast(RAND_MAX)+1);
return static_cast (min + rand() * fraction * (max - min + 1));
}
int main()
{
srand(static_cast(time(0)));
rand();
rand();
int x[36];
vectorY, Z;
//Y для положительных, Z - для отрицательных
//Инициализация массива x
int lengtY = 0;
int lengtZ = 0;
for (int count_1 = 0; count_1 < 36; ++count_1)
{
x[count_1] = generateRandom(-32768, RAND_MAX);
if (x[count_1] > 0)
{
Y.resize(++lengtY);
Y.at(lengtY - 1) = x[count_1];
}
else
{
Z.resize(++lengtZ);
Z[lengtZ - 1] = x[count_1];
}
}
//Определяем кол-во четных элементов в массиве Y
for (int count = 0,evenIntsY=0; count < Y.size(); ++count)
{
if (Y.at(count) % 2 == 0)
++evenIntsY;
}
return 0;
}
https://onlinegdb.com/9y9_-g3Dx
Так как задачей выводить числа не было, то в программе отсутствуют элементы вывода, как и заголовочный файл iostream.
Раскрытый код:
#include ctime //Для time
#include cstdlib //Для rand и srand
#include vector
//В местах где подключаются заголовочные файлы нужно прописать угловые скобки, потому что на ответах если что то писать в угловых скобках пропадает вместе с угловыми скобками.
using std::vector;
int generateRandom(int min, int max)
{
double fraction=1.0/(static_cast(RAND_MAX)+1);
return static_cast (min + rand() * fraction * (max - min + 1));
}
int main()
{
srand(static_cast(time(0)));
rand();
rand();
int x[36];
vectorY, Z;
//Y для положительных, Z - для отрицательных
//Инициализация массива x
int lengtY = 0;
int lengtZ = 0;
for (int count_1 = 0; count_1 < 36; ++count_1)
{
x[count_1] = generateRandom(-32768, RAND_MAX);
if (x[count_1] > 0)
{
Y.resize(++lengtY);
Y.at(lengtY - 1) = x[count_1];
}
else
{
Z.resize(++lengtZ);
Z[lengtZ - 1] = x[count_1];
}
}
//Определяем кол-во четных элементов в массиве Y
for (int count = 0,evenIntsY=0; count < Y.size(); ++count)
{
if (Y.at(count) % 2 == 0)
++evenIntsY;
}
return 0;
}
int? short? double?
Похожие вопросы
- Сформировать матрицу B(M, N) элементами которой являются случайные числа, равномерно распределенные в интервале (-5, 7
- Создать одномерный массив, состоящий из n вещественных элементов. Элементы массива определить при помощи случайных чисел
- Помогите пожалуйста с Массивами .В языке С .Заполнил 2-мерный массив N и M случайными числами дальше не понимаю.
- Для всех задач сформировать одномерный массив N случайных чисел из интервала (-10; 10).
- 5) Найти среднее значение элементов построчно и по столбцам массива n*n случайных чисел. с++ пж помагите
- Заполнить 2D массив случайными числами
- Задача по С++, генератор случайных чисел(сортирует что бы не было одинаковых чисел))
- Сформировать массив К из 23 элементов
- Где взять генератор случайных чисел
- В одномерном массиве, за один проход найдите непрерывный кусок, сумма чисел в котором максимальна.