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

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

11.08.2010, 16:08. Показов 1625. Ответов 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 секунды используется многократно. Как можно исправить это?
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.08.2010, 16:08
Ответы с готовыми решениями:

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

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

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

4
Заблокирован
11.08.2010, 16:14
C++
1
srand( (unsigned)time( NULL ) );
может так
0
3 / 2 / 1
Регистрация: 28.08.2009
Сообщений: 16
11.08.2010, 16:50
как я помню в Дейтел-е расмотрен пример генерации случайных чисел, и там говарится о твоей проблеме, удачи
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
11.08.2010, 16:59
Разумеется. У тебя ж srand() вызывается в цикле. Измени так:
C++
1
2
3
4
int main()
{
    srand(time(0));
    // тут все остальное...
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
11.08.2010, 17:15
Альтернативная генерилка случайных чисел, правда, в виндавсе работать не будет
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);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.08.2010, 17:15
Помогаю со студенческими работами здесь

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

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

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

Запишите шесть строк, состоящих из двух случайных чисел типа int, которые не больше 10 и трех случайных чисел
Запишите шесть строк, состоящих из двух случайных чисел типа int, которые не больше 10 и трех случайных чисел типа float, что не больше...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru