 |
Выбор случайного числа - Вопросы и ответы, обсуждения - Ваши вопросы по C/C++ только в данном разделе |
02.08.2011, 14:53
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 09.02.2011
 Сообщений: 6
 Популярность: 18
 Сказал(а) спасибо: 2
Поблагодарили 4 раз(а) в 3 сообщениях
|
Выбор случайного числа
Здарова всем суть проблемы такова дан список чисел через запятую причем этот список может быть совершенно разный в разных случаях (из разных чисел, разное кол-во чисел) Например :
Код:
79624192,39388153,15200770,123811835,74014717,59021832,132598264,60551690,34245643,68730381,22482429,14459923,100076052,76194326,108608536,111677460,139702721,68159006,124245023,63925280,70040099,5503012,118175764,129914891,60023339,7807020,135124525,121382447,92511283,65678892,77720069,12859448,16827450,114299963,107661859,41386050,133862468,58406981,16355910,55930440,67698757,117553214,88581712,28193361,45215314,76560979,91950664,57151066,34770016,100871257,32648803,24433252,134149733,21220968,23042667,39809132,139126381,92910704,34183793,36590709,120197751,132585072,22212721,63266912,40437373,90871409,75374184,38352517,78032501,95438472,131709065,71020171,119780987,34222221,96990854,21288079,106557584,7938194,137254028,72755853,102913158,18753176,80040089
так воот нужно выбрать случайный элемент из списка и занести в какую нибудь числовую переменную
СПС заранее !
|
|
|
02.08.2011, 15:02
|
#2
|
|
|
|
Разведчик
|
 Регистрация: 13.07.2011
 Сообщений: 6
 Популярность: 156
 Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 16 сообщениях
|
Re: Выбор случайного числа
Код:
using System.Numerics;
class Program
{
static void Main(string[] args)
{
Random r = new Random();
BigInteger[] arr = { 79624192, 39388153, 15200770, 123811835, 74014717, 59021832, 132598264, 60551690, 34245643, 68730381, 22482429, 14459923, 100076052, 76194326, 108608536, 111677460, 139702721, 68159006, 124245023, 63925280, 70040099, 5503012, 118175764, 129914891, 60023339, 7807020, 135124525, 121382447, 92511283, 65678892, 77720069, 12859448, 16827450, 114299963, 107661859, 41386050, 133862468, 58406981, 16355910, 55930440, 67698757, 117553214, 88581712, 28193361, 45215314, 76560979, 91950664, 57151066, 34770016, 100871257, 32648803, 24433252, 134149733, 21220968, 23042667, 39809132, 139126381, 92910704, 34183793, 36590709, 120197751, 132585072, 22212721, 63266912, 40437373, 90871409, 75374184, 38352517, 78032501, 95438472, 131709065, 71020171, 119780987, 34222221, 96990854, 21288079, 106557584, 7938194, 137254028, 72755853, 102913158, 18753176, 80040089 };
BigInteger s = arr[r.Next(0, arr.Count())];
Console.WriteLine(s);
}
}
|
|
|
02.08.2011, 16:07
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 09.02.2011
 Сообщений: 6
 Популярность: 18
 Сказал(а) спасибо: 2
Поблагодарили 4 раз(а) в 3 сообщениях
|
Re: Выбор случайного числа
забыл сказать желательно C++
|
|
|
02.08.2011, 17:12
|
#4
|
|
|
|
Рыцарь-защитник
|
 Регистрация: 14.01.2011
 Сообщений: 633
 Популярность: 28087
 Золото Zhyk.Ru: 1
 Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
|
Re: Выбор случайного числа
Есть онлайн-конвертер кодов  гугл в помощь
|
|
|
03.08.2011, 12:02
|
#5
|
|
|
|
Разведчик
|
 Регистрация: 09.02.2011
 Сообщений: 6
 Популярность: 18
 Сказал(а) спасибо: 2
Поблагодарили 4 раз(а) в 3 сообщениях
|
Re: Выбор случайного числа
переконвертил такая **** вышла ))) одни ошибки не выходит ((
|
|
|
03.08.2011, 14:26
|
#6
|
|
|
|
Разведчик
|
 Регистрация: 13.07.2011
 Сообщений: 6
 Популярность: 156
 Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 16 сообщениях
|
Re: Выбор случайного числа
Скинул бы сюда, то что вышло. Или мы по-твоему экстрасенсы ?
|
|
|
03.08.2011, 15:37
|
#7
|
|
|
|
Разведчик
|
 Регистрация: 09.02.2011
 Сообщений: 6
 Популярность: 18
 Сказал(а) спасибо: 2
Поблагодарили 4 раз(а) в 3 сообщениях
|
Re: Выбор случайного числа
конвертер кода выдал такое вот .......
Код:
#include <string>
#include <iostream>
//C# TO C++ CONVERTER TODO TASK: The .NET System namespace is not available from native C++:
//using namespace System::Numerics;
class Program
{
static void Main(std::string args[])
{
Random *r = new Random();
BigInteger arr[83] = { 79624192, 39388153, 15200770, 123811835, 74014717, 59021832, 132598264, 60551690, 34245643, 68730381, 22482429, 14459923, 100076052, 76194326, 108608536, 111677460, 139702721, 68159006, 124245023, 63925280, 70040099, 5503012, 118175764, 129914891, 60023339, 7807020, 135124525, 121382447, 92511283, 65678892, 77720069, 12859448, 16827450, 114299963, 107661859, 41386050, 133862468, 58406981, 16355910, 55930440, 67698757, 117553214, 88581712, 28193361, 45215314, 76560979, 91950664, 57151066, 34770016, 100871257, 32648803, 24433252, 134149733, 21220968, 23042667, 39809132, 139126381, 92910704, 34183793, 36590709, 120197751, 132585072, 22212721, 63266912, 40437373, 90871409, 75374184, 38352517, 78032501, 95438472, 131709065, 71020171, 119780987, 34222221, 96990854, 21288079, 106557584, 7938194, 137254028, 72755853, 102913158, 18753176, 80040089 };
BigInteger *s = arr[r->Next(0, arr->Count())];
std::cout << s << std::endl;
}
};
|
|
|
03.08.2011, 16:10
|
#8
|
|
|
|
Разведчик
|
 Регистрация: 13.07.2011
 Сообщений: 6
 Популярность: 156
 Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 16 сообщениях
|
Re: Выбор случайного числа
Код:
using namespace std;
int main{
Random r = new Random();
long arr[83] = { 79624192, 39388153, 15200770, 123811835, 74014717, 59021832, 132598264, 60551690, 34245643, 68730381, 22482429, 14459923, 100076052, 76194326, 108608536, 111677460, 139702721, 68159006, 124245023, 63925280, 70040099, 5503012, 118175764, 129914891, 60023339, 7807020, 135124525, 121382447, 92511283, 65678892, 77720069, 12859448, 16827450, 114299963, 107661859, 41386050, 133862468, 58406981, 16355910, 55930440, 67698757, 117553214, 88581712, 28193361, 45215314, 76560979, 91950664, 57151066, 34770016, 100871257, 32648803, 24433252, 134149733, 21220968, 23042667, 39809132, 139126381, 92910704, 34183793, 36590709, 120197751, 132585072, 22212721, 63266912, 40437373, 90871409, 75374184, 38352517, 78032501, 95438472, 131709065, 71020171, 119780987, 34222221, 96990854, 21288079, 106557584, 7938194, 137254028, 72755853, 102913158, 18753176, 80040089 };
long s = arr[r->Next(0, arr->Count())];
cout << s << endl;
}
Если компилировать в VisualStudio, то должно работать.
|
|
|
03.08.2011, 17:34
|
#9
|
|
|
|
Разведчик
|
 Регистрация: 09.02.2011
 Сообщений: 6
 Популярность: 18
 Сказал(а) спасибо: 2
Поблагодарили 4 раз(а) в 3 сообщениях
|
Re: Выбор случайного числа
MCseller, а ты не мог бы дать какие нибудь пояснения к каждой строке что бы мне понятнее было ? )
|
|
|
03.08.2011, 19:20
|
#10
|
|
|
|
Разведчик
|
 Регистрация: 13.07.2011
 Сообщений: 6
 Популярность: 156
 Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 16 сообщениях
|
Re: Выбор случайного числа
Код:
Random r = new Random(); // Инициализация объекта "r" класса Random
long arr[] = { 79624192, 39388153, 15200770, 123811835, 74014717, 59021832, 132598264, 60551690, 34245643, 68730381, 22482429, 14459923, 100076052, 76194326, 108608536, 111677460, 139702721, 68159006, 124245023, 63925280, 70040099, 5503012, 118175764, 129914891, 60023339, 7807020, 135124525, 121382447, 92511283, 65678892, 77720069, 12859448, 16827450, 114299963, 107661859, 41386050, 133862468, 58406981, 16355910, 55930440, 67698757, 117553214, 88581712, 28193361, 45215314, 76560979, 91950664, 57151066, 34770016, 100871257, 32648803, 24433252, 134149733, 21220968, 23042667, 39809132, 139126381, 92910704, 34183793, 36590709, 120197751, 132585072, 22212721, 63266912, 40437373, 90871409, 75374184, 38352517, 78032501, 95438472, 131709065, 71020171, 119780987, 34222221, 96990854, 21288079, 106557584, 7938194, 137254028, 72755853, 102913158, 18753176, 80040089 }; // инициализация массива типа long
long s = arr[r->Next(0, arr->Count())]; // инициализация переменной типа long и присвоение ей элемента массива с индексом от 0(включительно) до кол-ва элементов в массиве (не включая верхнюю границу)
cout << s << endl; // Вывод в консоль переменной s со знаком конца строки.
|
|
|
03.08.2011, 19:47
|
#11
|
|
|
|
Разведчик
|
 Регистрация: 09.02.2011
 Сообщений: 6
 Популярность: 18
 Сказал(а) спасибо: 2
Поблагодарили 4 раз(а) в 3 сообщениях
|
Re: Выбор случайного числа
в C++ Builder твой вариант не прокатил вообщем я написал примерно то что ты задумал
Код:
const int v = 3; //сколько элементов в массиве
int c[v] = {79624192,39388153,15200770}; //сам массив
int x = Random(v); //задаем переменной x случайное число максРандом = 3
int z = c[x]; //ну и выводим как раз таки случайное число из массива
но у меня проблема такова
1)нужно загрузить все элементы в массив через TMemo (тут тупо проблема в том что массив из чисел(int) а если из memo загружать как String то будет тупо '7','9','6','2','4','1','9','2',',','3','9','3','8 ','8','1','5','3' вот так он делает)
2)нужно узнать сколько элементов(чисел) в массиве и занести в переменную v
3)ну и вывести случайный элемент в переменную z
|
|
|
03.08.2011, 21:06
|
#12
|
|
|
|
Разведчик
|
 Регистрация: 13.07.2011
 Сообщений: 6
 Популярность: 156
 Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 16 сообщениях
|
Re: Выбор случайного числа
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Код:
using System.Numerics;
class Program
{
static void Main(string[] args)
{
Random r = new Random();
BigInteger[] arr = { 79624192, 39388153, 15200770, 123811835, 740147172, 59021832, 132598264, 60551690, 34245643, 68730381, 22482429, 14459923, 100076052, 76194326, 108608536, 111677460, 139702721, 68159006, 124245023, 63925280, 70040099, 5503012, 118175764, 129914891, 60023339, 7807020, 135124525, 121382447, 92511283, 65678892, 77720069, 12859448, 16827450, 114299963, 107661859, 41386050, 133862468, 58406981, 16355910, 55930440, 67698757, 117553214, 88581712, 28193361, 45215314, 76560979, 91950664, 57151066, 34770016, 100871257, 32648803, 24433252, 134149733, 21220968, 23042667, 39809132, 139126381, 92910704, 34183793, 36590709, 120197751, 132585072, 22212721, 63266912, 40437373, 90871409, 75374184, 38352517, 78032501, 95438472, 131709065, 71020171, 119780987, 34222221, 96990854, 21288079, 106557584, 7938194, 137254028, 72755853, 102913158, 18753176, 80040089 };
BigInteger s = arr[r.Next(0, arr.Count())];
Console.WriteLine(s);
}
|
|
 |
|
 |
|
Убей себя об асфальт прыжком с 16 этажа, флудер, хотя бы что-то изменил...
|
|
|
03.08.2011, 21:26
|
#13
|
|
|
|
Разведчик
|
 Регистрация: 09.02.2011
 Сообщений: 6
 Популярность: 18
 Сказал(а) спасибо: 2
Поблагодарили 4 раз(а) в 3 сообщениях
|
Re: Выбор случайного числа
MCseller, если оно у тебя в VisualStudio идет значит и в борланде потянет ты че инклюдил (#include) ??
|
|
|
03.08.2011, 22:02
|
#14
|
|
|
|
Разведчик
|
 Регистрация: 13.07.2011
 Сообщений: 6
 Популярность: 156
 Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 16 сообщениях
|
Re: Выбор случайного числа
|
|
|
Пользователь сказал cпасибо:
|
|
04.08.2011, 10:52
|
#15
|
|
|
|
Разведчик
|
 Регистрация: 09.02.2011
 Сообщений: 6
 Популярность: 18
 Сказал(а) спасибо: 2
Поблагодарили 4 раз(а) в 3 сообщениях
|
Re: Выбор случайного числа
MCseller, ну ладно спасиб
Добавлено через 8 часов 9 минут
Вообщем написал НО заковырка одна в 1 строке как String преобразовать в char ???
Код:
char p = Memo1->Text;
srand(time(NULL));
vector<int> arr;
char string[ ] = { p };
char *razb;
razb = strtok(string, ",");
while(razb != NULL){
arr.push_back(atoi(razb));
razb = strtok(NULL, ",");
}
int randind=rand()%arr.size();
Edit1->Text = arr[randind];
СПС заранее !
Последний раз редактировалось Rhino1234; 04.08.2011 в 19:01.
Причина: Добавлено сообщение
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 10:47.
|
 |