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

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

Войти
Регистрация
Восстановить пароль
 
nnn52
Сообщений: n/a
#1

последовательность случайных чисел - C++

11.08.2010, 16:08. Просмотров 468. Ответов 4
Метки нет (Все метки)

Здравствуйте! Прошу прощения за возможно глупый вопрос) Проблема в том, что в программе
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <time.h>
int main(){
  t:
             int pov;
    int s=0;
    int q=1;
     std::cout << "Enter pov: \n" ;
     std::cin>> pov;
        int a[36];
     while(q<(pov+1)) {
 for(int i = 0; i < 36; i++) 
 {a[i] = i + 1;
}
srand(time(0));
 
 for(int k = 0; k < 36; k++){
 
   int index1 = rand() % 36;
   int index2 = rand() % 36;
   int buf = a[index1];
   a[index1] = a[index2];
   a[index2] = buf;
}
int g;
l: 
 g=0;
p:
          while(g<=33) {
            
             if((floor(a[g]/10)==floor(a[g+2]/10) || (a[g+2]-a[g])%10==0) 
             && a[g]>0 && a[g+2]>0) {
                                                 int y=0;
                                                 while(y<=(34-g)) {
             a[g+y]=a[g+y+1];
             y++;
             };
             a[35]=0;
             goto l;
             }
     g++;
     goto p;
     };
     int f;
     if(a[2]==0) {
                f=1;
                }
                f=0;
     s=s+f;
     q++;
     }
     std::cout<< "win: " <<   s << "\n";
      system("PAUSE");
     return 0;    
     }
функция srand(time(0)) генерирует одни и те же числа, видимо т.к. в течении 1 секунды используется многократно. Как можно исправить это?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2010, 16:08     последовательность случайных чисел
Посмотрите здесь:

последовательность из 10 случайных чисел - C++
Написать программу которая генерирует последовательность из 10 случайных чисел, в диапозоне от 1 до 10. Выводит эти чисола на экран и...

Последовательность случайных чисел - C++
void rndChain(){ system(&quot;cls&quot;); SetConsoleTitleA(&quot;Кiлькiсть повторень заданого числа&quot;); ...

Написать программу, котрая генерирует последовательность 10 случайных чисел - C++
Написать программу, котрая генерирует последовательность 10 случайных чисел в диапазоне от 1 до 10 и выводит эти числа на экран и вычисляет...

Как подобрать последовательность 100 случайных чисел с экспоненциальным законом на C++ - C++
Сгенерировать последовательность 100 случайных чисел с экспоненциальным законом =2. Вычислить среднее значение и дисперсию. распределения с...

Сгенерировать последовательность 60 случайных чисел с экспоненциальным законом распределения с параметром - C++
Сгенерировать последовательность 60 случайных чисел с экспоненциальным законом распределения с параметром =0,8. Упорядочить полученную...

Написать программу, которая генерирует последовательность из 10 случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и вычисляет их - C++
Написать программу, которая генерирует последовательность из 10 случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и...

Написать программу,которая генерирует последовательность из 10 случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и вычисляет их средн - C++
Написать программу,которая генерирует последовательность из 10 случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и...

Формирование массива трехзначных чисел с помощью датчика случайных чисел и вывода его на экран - C++
Создать две функции для работы с массивом: • формирование массива трехзначных чисел с помощью датчика случайных чисел и вывода его на...

Генерирование случайных чисел и выборка значения из этих чисел - C++
Здравствуйте, помогите решить задачку. Нужно случайным образом сгенерировать числа от 0..9, 100 раз. Затем из генерированных чисел...

Форматирование файла целых чисел, полученных с помощью датчика случайных чисел, нахождение контрольной суммы - C++
Помогите пожалуйста решить, и распишите каждую строчку (т.е что тут сделано) Составить программу, которая: -Форматирует файл целых...

Составить программу, которая формирует файл целых чисел, получаемых с помощью датчика случайных чисел - C++
Блин, братва!!!!=) Последняя работа в этом году, а сдать нужно до субботы, помогите пожалуйста!!!! Задание 1. Составить...

Задана последовательность из n чисел. Найти количество чисел больше своего номера - C++
заданая последовательность из n чисел: а(1),a(2)...a(n). найти количество чисел больше своего номера...напешите полностью листинг пожалуйста


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dzhej-Dzhej
Заблокирован
11.08.2010, 16:14     последовательность случайных чисел #2
C++
1
srand( (unsigned)time( NULL ) );
может так
Hayk
2 / 1 / 0
Регистрация: 28.08.2009
Сообщений: 16
11.08.2010, 16:50     последовательность случайных чисел #3
как я помню в Дейтел-е расмотрен пример генерации случайных чисел, и там говарится о твоей проблеме, удачи
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,353
11.08.2010, 16:59     последовательность случайных чисел #4
Разумеется. У тебя ж srand() вызывается в цикле. Измени так:
C++
1
2
3
4
int main()
{
    srand(time(0));
    // тут все остальное...
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
11.08.2010, 17:15     последовательность случайных чисел #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
26
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/uio.h>
#include <unistd.h>
 
int main(void){
    int fd,i, rnd;
 
    if ( ( fd = open("/dev/urandom", O_RDONLY) ) == -1 ){
        perror("open");
        exit(EXIT_FAILURE);
    }
 
    for ( i = 0; i < 10; ++i ){
        if ( read(fd, &rnd, sizeof(int)) != sizeof(int) ){
            perror("read");
            exit(EXIT_FAILURE);
        }
        printf("%d\n", rnd);
    }
 
    close(fd);
    exit(EXIT_SUCCESS);
}
Yandex
Объявления
11.08.2010, 17:15     последовательность случайных чисел
Ответ Создать тему
Опции темы

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