Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.81
n3250sasha
9 / 9 / 1
Регистрация: 30.10.2011
Сообщений: 80
#1

Работа с random - C++

05.10.2012, 22:36. Просмотров 3462. Ответов 9
Метки нет (Все метки)

Доброго времени суток!
У меня есть массив int a[5]={10,20,30,40,50}. Можно сделать так, чтобы выводились эти числа рандомом и не повторялись???
Я сделал так ну что-то не то(((

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
void main ()
{
    clrscr ();
    int i,a[5]={10,20,30,40,50};
    randomize();
        for(i=0;i<5;i++)
    cout<<random(a[i]);
    getch ();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2012, 22:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с random (C++):

Random и объекты класса (pseudo random) - C++
Всем привет. Есть класс: typedef unsigned int ui; class Player { private: ui health;

Random - C++
Всем привет! Столкнулся с проблемой: по программе должен нажать S, и после этого из списка 1.cpp ... 50.cpp должен выбраться один...

Random - C++
Помогите,пожалуйста, подкорректировать текст проги так,что был массив задавался рандомно,а не вводился как у меня вручную. #include...

random - C++
Доброго времени суток! Вопрос прост: для генерации случайных чисел всегда пользовался rand(), но тут что то вдруг добрался до random(), но...

random - C++
Нужно сгенерировать случайное число двух значное как это сделать ? Visual C++ Гуглил но только это . #include &lt;iostream&gt; using...

Random - C++
для чего пишем srand(time(0)); ? srand(time(0)); int a = rand() % N;

9
Andsteadur
153 / 137 / 3
Регистрация: 23.05.2009
Сообщений: 275
05.10.2012, 22:44 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
 
void main ()
{
    int i,a[5]={10,20,30,40,50};
    srand(time(NULL));
        for(i=0;i<5;i++)
    cout<<rand();
    getch ();
}
0
n3250sasha
9 / 9 / 1
Регистрация: 30.10.2011
Сообщений: 80
05.10.2012, 22:54  [ТС] #3
Цитата Сообщение от Andsteadur Посмотреть сообщение
#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
void main ()
{
int i,a[5]={10,20,30,40,50};
srand(time(NULL));
for(i=0;i<5;i++)
cout<<rand();
getch ();
}
Что это???

Добавлено через 1 минуту
Мне нужто чтобы выводило, например : {10 50 20 40 30} или {50 30 10 20 40}
0
David Sylva
1291 / 953 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
05.10.2012, 22:57 #4
Можно с помощью random_shuffle
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include <algorithm>
 
 
int main ()
{
    int arr[5] = { 10, 20, 30, 40, 50 }; 
    int i; 
 
    std::random_shuffle(arr, arr+5); 
 
    for ( i = 0; i < 5; i++) 
        std::cout << arr[i] << " "; 
    std::cout << std::endl; 
}
Добавлено через 42 секунды
Andsteadur не соответствуешь стандарту
1
n3250sasha
9 / 9 / 1
Регистрация: 30.10.2011
Сообщений: 80
05.10.2012, 23:06  [ТС] #5
А так на меня с++ ругается((( не знает что такое "#include <algorithm>" и еще много ошибок.... можно именно через random???
0
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
06.10.2012, 00:05 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <ctime>
#include <cstdlib>
 
int main()
{
    int arr[] = {10, 20, 30, 40, 50};
    size_t const size = sizeof(arr) / sizeof(*arr);
    int aind[size] = {0}, ind;
    srand(time(0));
    for(size_t i = size; i > 0; --i)
    {
        ind = rand() % i;
        while(aind[ind]) ++ind;
        ++aind[ind];
        std::cout << arr[ind] << "  ";
    }
    return 0;
}
1
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
06.10.2012, 00:27 #7
Цитата Сообщение от n3250sasha Посмотреть сообщение
не знает что такое "#include <algorithm>"
Ето как, что у вас за такой компилятор такой?
0
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
06.10.2012, 00:45 #8
Цитата Сообщение от yuron_477 Посмотреть сообщение
Ето как, что у вас за такой компилятор такой?
Borland C++ 3.0, 100%.

Прикрепите уже где-то эту штуку:
C++
1
2
3
4
5
6
7
8
9
10
template <typename T>
void randomShuffle(T array[], size_t size)
{
  for (; size > 1; --size) {
    size_t index = rand() % size;
    T tmp = array[index];
    array[index] = array[size - 1];
    array[size - 1] = tmp;
  }
}
0
n3250sasha
9 / 9 / 1
Регистрация: 30.10.2011
Сообщений: 80
06.10.2012, 11:04  [ТС] #9
Цитата Сообщение от yuron_477 Посмотреть сообщение
Ето как, что у вас за такой компилятор такой?
Borland C++ for windows
version 3.1
0
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
06.10.2012, 11:17 #10
Цитата Сообщение от n3250sasha Посмотреть сообщение
Borland C++ for windows
version 3.1
Верните его обратно в музей, пожалуйста. Возьмите хотя б это.
0
06.10.2012, 11:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2012, 11:17
Привет! Вот еще темы с ответами:

random - C++
R=random(101)/100.; Это генератор случайных чисел (0;1)?

Ошибка в random-e - C++
Доброго времени суток! Не могли бы вы подсказать в чем ошибка, компилятор выдает ошибку вот на этой строке :mas=(rand()%10); #include...

Random for double:( - C++
Задание: Создать функцию random(a, b), которая возвращает случайное вещественное число от вещественного числа a включительно до...

Массивы. Random - C++
#include &lt;stdio.h&gt; #include &lt;stdlib&gt; #include &lt;conio.h&gt; void main() { int a,n, i,w, kol=0; randomize(); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru