У меня есть 4 элемента массива, мне нужно вывести 2 рандомные элемента, только чтоб не выводился 4 элемент
Нужна подсказка для С++
Другие языки программирования и технологии
Как вывести рандомные 2 числа из отрезка 1 до 5,только чтоб они не равные были 3? С++
От 1 до 4 и +1 при равно 3.
Каро Карапетян
Если так сделать, распределение вероятностей будет неравномерным
Из заголовка вопроса.
#include < iostream >
#include < cstdlib >
#include < ctime >
using namespace std;
int Gen();
void main()
{
setlocale(LC_ALL, "rus");
srand(time(NULL));
system("color 0A");
cout << "Первое случайное число (из интервала от 1 до 5, но не 3) = " << Gen() << " Воторое число " << Gen() << endl;
cin.get(); cin.get();
}
int Gen()
{
int t;
for (;;)
{
t = 1 + rand() % 5;
if (t != 3)
break;
}
return t;
}
Из тела вопроса.
#include < iostream >
#include < cstdlib >
#include < ctime >
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
srand(time(NULL));
system("color 0A");
auto a = new int[4];
cout << "исходный массив" << endl;
for (unsigned u = 0; u < 4; ++u)
{
a[u] = -10 + rand() % 21;
cout << a[u] << " ";
}
cout << "\n2 случайные элемента" << endl;
unsigned ind1 = rand() % 3;
unsigned ind2;
for (;;)
{
ind2 = rand() % 3;
if (ind2 != ind1)
break;
}
cout << "1: " << a[ind1] << " ind " << ind1 << endl;
cout << "2: " << a[ind2] << " ind " << ind2 << endl;
cin.get(); cin.get();
}
#include < iostream >
#include < cstdlib >
#include < ctime >
using namespace std;
int Gen();
void main()
{
setlocale(LC_ALL, "rus");
srand(time(NULL));
system("color 0A");
cout << "Первое случайное число (из интервала от 1 до 5, но не 3) = " << Gen() << " Воторое число " << Gen() << endl;
cin.get(); cin.get();
}
int Gen()
{
int t;
for (;;)
{
t = 1 + rand() % 5;
if (t != 3)
break;
}
return t;
}
Из тела вопроса.
#include < iostream >
#include < cstdlib >
#include < ctime >
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
srand(time(NULL));
system("color 0A");
auto a = new int[4];
cout << "исходный массив" << endl;
for (unsigned u = 0; u < 4; ++u)
{
a[u] = -10 + rand() % 21;
cout << a[u] << " ";
}
cout << "\n2 случайные элемента" << endl;
unsigned ind1 = rand() % 3;
unsigned ind2;
for (;;)
{
ind2 = rand() % 3;
if (ind2 != ind1)
break;
}
cout << "1: " << a[ind1] << " ind " << ind1 << endl;
cout << "2: " << a[ind2] << " ind " << ind2 << endl;
cin.get(); cin.get();
}
что-то у вас противоречие в заголовке и в пояснении
если насчёт того что в заголовке и если числа целые только то можно например как предыдущий оратор "От 1 до 4 и +1 при равно 3" только не +1 а +2
код что-то вроде этого
int k= rand() % 5 +1;
if (k==3) k+=2;
2 раза соответственно для каждого числа
а если то что в пояснении то вам вообще просто не нужно просто рассматривать 4 элемент
int k= rand() % 3 ; //предполагается что массив начинается с 0-го элемента
если насчёт того что в заголовке и если числа целые только то можно например как предыдущий оратор "От 1 до 4 и +1 при равно 3" только не +1 а +2
код что-то вроде этого
int k= rand() % 5 +1;
if (k==3) k+=2;
2 раза соответственно для каждого числа
а если то что в пояснении то вам вообще просто не нужно просто рассматривать 4 элемент
int k= rand() % 3 ; //предполагается что массив начинается с 0-го элемента
Похожие вопросы
- Пользователь вводит строку. Найти и вывести из строки римские цифры от 1 до 5, введенные прописными символами.
- Pascal. Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые являются степенью двойки.
- Как перевести эти числа буду благодарен:1)0,2122(3)-?(10) 2)3,1415(10)-?(8) 3) 0,2122(8)-?(2) 4)0,1100011(2)-?(10) (((
- Есть последовательность из восьми чисел: 7 4 2 8 3 1 6 5 Над этой последовательностью разрешено выполнять только о
- Помогите пожалуйста! Задача по программированию. ВВОдится 1 число n. ВОзможны 2 действия над ним : 1)вычесть 1
- Дан линейный массив чисел N. N вводит пользователь. Вывести все простые числа массива.
- Roblox Studio Скрипт на выдачу игроку рандомные 2 оружия пистолет и винтовка
- Pascal - Вывести три наибольших числа
- Перебрать все числа с цифрами 1 и 2 до n-ного количества цифр.
- помогите написать програму в паскале. Задано натуральное число х. вывести все двознначные числа ,сума которых меньше х.