Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Заблокирован
1

Генератор случайных чисел

31.01.2013, 14:52. Просмотров 1558. Ответов 4
Метки нет (Все метки)

Как написать генератор случайных (пусть и псевдо) чисел, выдающий на выходе целые случайные числа от 1 до 10 и в кол-ве 10-и и без повторов. Тоесть надо на выходе получить 10 случайных чисел без повторов от 1-го до 10-и
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.01.2013, 14:52
Ответы с готовыми решениями:

Генератор случайных чисел
В общем, нужно составить программу, которая реализует алгоритм генерации случайных чисел....

Генератор случайных чисел
Еще ни разу не использовал rand(), знаю что перед ним нужно srand(time(NULL)), потому как без этого...

Генератор случайных чисел
Здравствуйте, написал вот такой генератор псевдослучайных чисел в диапазоне 0-99 и задался вопросом...

Генератор случайных чисел
Вот написал программу, которая генерирует матрицу 9*9. В каждой строке - от 1 до 9, не повторяются...

4
72 / 72 / 12
Регистрация: 22.01.2013
Сообщений: 231
31.01.2013, 15:05 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <ctime>
#include <iostream>
using namespace std;
int main()
{
    const int k=10;
    int m[k];
    srand (time(NULL));
    for(int i=0; i<k; i++)
    {
        a: m[i]=1+rand()%k;
        for (int j=0; j<i; j++)
            if (m[j]==m[i]) goto a; 
    }
    for(int i=0; i<k; i++)
    cout << m[i]<<" ";
    cin.get();
    return 0;
}
0
1170 / 883 / 94
Регистрация: 03.08.2011
Сообщений: 2,453
31.01.2013, 15:06 3
Взять массив ( вектор ) из 10 чисел от 1 до 10, и просто его перемешать случайным образом.
0
63 / 58 / 14
Регистрация: 14.12.2011
Сообщений: 193
31.01.2013, 15:08 4
в 99.9% случаев такое не получится. А сам генератор :

Zi=(a * (Zi-1)+c)(mod m)

Где m – модуль (деление по модулю означает взятие остатка от деления на m), a – множитель, с – приращение и Z0 – начальное значение являются неотрицательными целыми числами.
0
0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 28
31.01.2013, 15:52 5
как вариант перемешивание массива.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "stdafx.h"
#include <iostream>
 
using namespace std;  
void swap(int& a, int& b)
{
 int c = a;
 a = b;
 b = c;
}
void main()
{
 const int n = 10; // количество неповторяющихся чисел
 int gen[n];
 for(int i = 0; i < n; ++i)
  gen[i] = i+1; // заполняем массив числами от 1 до 10
 for(int i = 0; i < n; ++i)
 {
  swap(gen[i], gen[rand()%n]);
 }
 for(int i = 0; i < n; ++i)
  cout << gen[i] << " ";
 cout << endl;
 cin.ignore();
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2013, 15:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Генератор случайных чисел (с UI)
Я создал простенький генератор случайных чисел с Пользовательским Интерфейсом (GUI). Добавлено...

Генератор случайных чисел
Здорова господа! Нужно написать свой собственный генератор случайных чисел, такой же примерно...

Генератор случайных чисел
Реализовать генератор случайных числе в диапазоне от нуля до единицы. После генерации случайного...

Генератор случайных чисел
Здравствуйте, для программы мне требуется генератор, который будет задавать рандомно число, но...


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

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

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