我需要在10到15之间生成一个随机数量的数字。另外,我需要将这些随机数设置在20到50之间。我已经完成了第二部分,我想,我只是不知道该怎么做放入我的if语句条件。谁知道?到目前为止,这是我的代码:
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
int main()
{
srand((unsigned)time(0));
int random_integer; // Stores random number between 20 and 50
int random_set; // Stores random amount of numbers
for(){ //
random_integer = 20 + rand()%25; // Random number between 20 and 50
cout <<"Generating " << random_set << "random numbers" << random_set " (is a random number between 10 to 15).";
cout << random_integer <<", ";
}
return 0;
}
答案 0 :(得分:1)
虽然其他答案已经介绍了如何使用tablayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewpager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
执行此操作,但是在C ++中生成随机数的更好(和正确)方法(假设您有一个C ++ 11或更高版本的编译器,您应该拥有)是通过rand()
标题。
以下是在给定范围内生成随机<random>
的方法:
int
当然,您也可以通过类似的代码将#include <random>
#include <iostream>
int main(void) {
std::random_device rd; // seed for PRNG
std::mt19937 mt_eng(rd()); // mersenne-twister engine initialised with seed
const int range_min = 10; // min of random interval
const int range_max = 15; // max of random interval
// uniform distribution for generating random integers in given range
std::uniform_int_distribution<> dist(range_min, range_max);
const int n = 10; // number of random int's to generate
// call dist(mt_eng) to generate a random int
for (int i = 0; i < n; ++i)
std::cout << dist(mt_eng) << ' ';
}
的值随意地随机化。
答案 1 :(得分:0)
首先,这会生成20到45之间的数字(不包括):
random_integer = 20 + rand () % 25;
要解决此问题,请使用rand () % 30
。
我需要生成10到15之间的随机数字
然后生成一个介于10和15之间的随机数,并从0到该数字进行迭代(循环):
int n = 10 + rand () % 5;
int *numbers = new int[n]; //array that stores the random numbers
for (int i = 0; i < n; i++)
numbers[i] = 20 + rand () % 30; //random number between 20 and 50
答案 2 :(得分:0)
关键是您的模数和您的起始号码。
// rand() % 5 + 10 has a range of 10 to 10+5 (15)
// rand() % 30 + 20 has a range of 20 to 20+30 (50)
int numberCount = rand() % 5 + 10;
for(int i = 0; i < numberCount; ++i)
{
int randomNumber = rand() % 30 + 20;
cout << randomNumber << endl;
}
如果您想要包容性,请使用6和31而不是5和30。