Форум программистов, компьютерный форум CyberForum.ru

Рандомная выборка - C++

Восстановить пароль Регистрация
 
desperateX
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 15
13.04.2013, 20:45     Рандомная выборка #1
Помогите пожалуйста! Как рандомно выбрать из массива элемент? заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2013, 20:45     Рандомная выборка
Посмотрите здесь:

Выборка из массива C++
Рандомная сортировка массива. C++
квадратичная выборка C++
выборка данных из БД C++
C++ Рандомная выдача кейсов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yekka
384 / 148 / 8
Регистрация: 12.05.2011
Сообщений: 450
13.04.2013, 20:50     Рандомная выборка #2
обычно делают как-то так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
 
#define SIZE 20
int array[SIZE];
 
int main()
{
    int index;
    srand(time(NULL));
    index = rand() % SIZE;
    printf("%d\n", array[index]);
}
AndrewKlykow
11 / 11 / 0
Регистрация: 18.03.2013
Сообщений: 32
13.04.2013, 20:55     Рандомная выборка #3
Прописывашь функцию, выдающую рандомное число в заданных пределах:
C++
1
2
3
4
5
int RangedRandDemo( int range_min, int range_max)
{
   int u = (double)rand() / (RAND_MAX + 1) * (range_max - range_min)+ range_min;
   return u;
}
Задаешь массив. Допустим, двумерный:
C++
1
2
3
4
5
int strok=5;
int stolb=5;
int ** row = new int * [strok];
for (int i=0; i<strok; i++)
row[strok]=new int[stlb];
Дальше как угодно записываешь числа в массив - это прописывать не буду. И через функцию RangedRandDemo выбираешь рандомное число из массива:
C++
1
int Chislo=row[RangedRandDemo(0,strok),  RangedRandDemo(0, stolb)//Твое искомое рандомное число
desperateX
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 15
13.04.2013, 21:02  [ТС]     Рандомная выборка #4
Цитата Сообщение от yekka Посмотреть сообщение
обычно делают как-то так
спасибо, помогло
Yandex
Объявления
13.04.2013, 21:02     Рандомная выборка
Ответ Создать тему
Опции темы

Текущее время: 21:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru