С помощью датчика случайных чисел получить 30 целых
чисел, лежащих в диапазоне от 0 до 5 включительно, но вывести
на экран только нечетные числа.
C/C++
Помогите решить задачку c++.
#include <iostream>
#include <random>
using namespace std;
class Random {
public:
Random() {
random_device device;
gen.seed(device());
gen_64.seed(device());
}
int next(int first, int last) {
uniform_int_distribution<int> range(first, last);
return range(gen);
}
double next(double first, double last) {
uniform_real_distribution<double> range(first, last);
return range(gen_64);
}
private:
mt19937 gen;
mt19937_64 gen_64;
};
int main() {
Random rand;
int box[30];
for (auto& x : box) x = rand.next(0, 5);
for (auto x : box) if (x & 1) cout << x << ' ';
puts("");
system("pause > nul");
}
#include <random>
using namespace std;
class Random {
public:
Random() {
random_device device;
gen.seed(device());
gen_64.seed(device());
}
int next(int first, int last) {
uniform_int_distribution<int> range(first, last);
return range(gen);
}
double next(double first, double last) {
uniform_real_distribution<double> range(first, last);
return range(gen_64);
}
private:
mt19937 gen;
mt19937_64 gen_64;
};
int main() {
Random rand;
int box[30];
for (auto& x : box) x = rand.next(0, 5);
for (auto x : box) if (x & 1) cout << x << ' ';
puts("");
system("pause > nul");
}
1. формируем массив
2. перебираем массив
3. если нечетное - выводим
профит
2. перебираем массив
3. если нечетное - выводим
профит
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
const int size = 30;
int N[size];
srand(time(NULL));
for(int x = 0; x < size; x++)
{
N[x] = rand() % 6;
if(N[x] % 2 == 1) cout << N[x] << ' ';
}
cout << endl;
return 0;
}
#include <ctime>
using namespace std;
int main()
{
const int size = 30;
int N[size];
srand(time(NULL));
for(int x = 0; x < size; x++)
{
N[x] = rand() % 6;
if(N[x] % 2 == 1) cout << N[x] << ' ';
}
cout << endl;
return 0;
}
// Ещё такой вариант:
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
int i, a[30];
srand(time(NULL));
for (i = 0; i < 30; i++)
{
a[i] = rand() % 6;
if (a[i] & 1) std::cout << a[i] << ' ';
}
std::cout << std::endl;
getchar();
return 0;
}
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
int i, a[30];
srand(time(NULL));
for (i = 0; i < 30; i++)
{
a[i] = rand() % 6;
if (a[i] & 1) std::cout << a[i] << ' ';
}
std::cout << std::endl;
getchar();
return 0;
}
Может так подойдёт. не совсем ясно по поводу датчика случайных чисел, что именно надо делать, чтобы его значения получать.
https://pastebin.com/tZ143DA2
Хотя нет. Этот код одно и то же генерирует постоянно при перезапусках. Посмотрел - оказывается это баг gcc, так что возможно код сам правильный, но на старом gcc выдает одно и то же.
https://pastebin.com/tZ143DA2
Хотя нет. Этот код одно и то же генерирует постоянно при перезапусках. Посмотрел - оказывается это баг gcc, так что возможно код сам правильный, но на старом gcc выдает одно и то же.
Дружище! Срочно в гараж!)


Похожие вопросы
- Помогите решить задачки C++
- Помогите решить лабораторную c++
- Помогите пожалуйста решить задачки c++
- Помогите решить задачку по теме работа с файлами C++
- Помогите решить задачу c++
- Помогите решить задачу, c++, функции
- Помогите решить задачу C++
- Помогите решить задачу C++
- Помогите решить задачку пжпж условие на фото. Код необязателен, главное идею подскажите пжпж
- Помогите решить задачку по программированию