Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.97/35: Рейтинг темы: голосов - 35, средняя оценка - 4.97
4 / 4 / 0
Регистрация: 06.02.2012
Сообщений: 62
1

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

07.05.2012, 15:58. Показов 6652. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я на СBuilder "работаю" не давно, я только учюсь за задания задают ну его ...
Помогите студенту, ведь вы сами когдато были студентами и знаете каково это*)
Требуется разработать приложение, которое генерирует случайные числа. Исходным числом для генерации может служить текущее время в компьютере, или число, заданное пользователем. По команде пользователя система должна генерировать последовательность из 100 случайных чисел и отобразить их.
Случайные числа генерировать следующим образом. Берется предыдущее число, возводится в квадрат. Из этого числа берутся его средние 4 цифры. Это и есть случайное число. Затем это полученное число снова возводится в квадрат и из него берутся 4 средних цифры. Это следующее случайное число. И так далее...
Для вас это детский лепет, а для меня даже страшно подумать... Студент
Понимаю что работа должна оплачиваться, но существуют же добрые программисты**)

Добавлено через 7 минут
Дорогие программисты форума! Ответьте на мое задание *) Я очень в вас нуждаюсь*(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2012, 15:58
Ответы с готовыми решениями:

Генератор случайных чисел
Подскажите, если не сложно, код программы, которая генерирует целые числа (к примеру, от 1 до 10) и...

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

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

Генератор случайных чисел
Уверен, что на форуме эта тема давно обсуждалась (найти не смог, поэтому спрашиваю снова). Как...

22
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
07.05.2012, 21:57 2
Посмотри мой вариант (как я это понял...). Писал на скорую руку, но для начала может быть и сойдет__
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
void __fastcall TForm1::Button1Click(TObject *Sender)
{
      int wrk;
      AnsiString digit, selct ;
      TVarRec args[] = { wrk };
      Word Hour, Min, Sec, MSec;             // часы минуты секунды...
      DecodeTime(Time(), Hour, Min, Sec, MSec);
 
      if (RadioGroup1->ItemIndex == 1)
      {  wrk = Min * Sec * MSec ;
         args[0] = wrk;
         MaskEdit1->Text = Format("%.7d",args,1);
      }
      digit = MaskEdit1->Text;          // строка начального числа
      for (int i=0;i<100;i++)
      {
         selct = digit.SubString(3,4);  // берем 3-6 цифры 7-и значного числа
         Memo1->Lines->Add(IntToStr(i+1)+"  "+selct);
         wrk = StrToInt(selct);         // преобразование
         wrk = wrk*wrk;                 //  возведение в квадрат
         args[0] = wrk;
         digit = Format("%.7d",args,1); //  форматная строка
      }
}
Надо будет защиту от обнуления добавить.
Миниатюры
Генератор случайных чисел  
Вложения
Тип файла: rar 62.RAR (207.3 Кб, 39 просмотров)
1
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
07.05.2012, 22:25 3
Как это понял я: делаем случайное число на основе введенного или времени из этого числа берем серединку и перемножаем, из полученного числа берем серединку и перемножаем....
Вот что получилось у меня на основе введенного числа
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
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  randomize();
  if (Edit1->Text.Length() != 0)         // проверяем введено ли число
  {
     srand(StrToInt(Edit1->Text));
     unsigned int I1 = rand(), I2, I3, LenStr, Index;
     double Umnog = I1;
     AnsiString str1, str2;
     Memo1->Lines->Text = IntToStr(I1);     // выводим полученное случайное число
     for (int y = 0; y<100; y++)
     {
        I2 = pow(Umnog,2);                // возводим в степень 2
        Memo1->Lines->Add(IntToStr(I2));
        str1 = IntToStr(I2);
        LenStr = str1.Length();   // находим размер числа
        if (LenStr>4)            // если число больше 4х
        {
          Index = LenStr/2;
          if (LenStr%2 != 0) Index++;
          str2.Insert(str1[Index-1],1);      // вытаскиваем серединку
          str2.Insert(str1[Index],2);
          str2.Insert(str1[Index+1],3);
          str2.Insert(str1[Index+2],4);
          Umnog = StrToInt(str2);
          str2="";
        }
        else   Umnog = StrToInt(str1);
 
     }
 
  }
 
}
Вложения
Тип файла: rar rand.rar (3.8 Кб, 19 просмотров)
1
4 / 4 / 0
Регистрация: 06.02.2012
Сообщений: 62
07.05.2012, 22:29  [ТС] 4
Да спасибо по выбранном числу вроде работает, а вот когда выберем текущее время выдает ошибку...
Миниатюры
Генератор случайных чисел  
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
07.05.2012, 22:47 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
27
28
29
30
31
32
void __fastcall TForm1::Button2Click(TObject *Sender)
{
   randomize();
 
     srand(time(0));
     unsigned int I1 = rand(), I2, I3, LenStr, Index;
     double Umnog = I1;
     AnsiString str1, str2;
     Memo1->Lines->Text = IntToStr(I1);     // выводим полученное случайное число
     for (int y = 0; y<100; y++)
     {
        I2 = pow(Umnog,2);                // возводим в степень 2
        Memo1->Lines->Add(IntToStr(I2));
        str1 = IntToStr(I2);
        LenStr = str1.Length();   // находим размер числа
        if (LenStr>4)            // если число больше 4х
        {
          Index = LenStr/2;
          if (LenStr%2 != 0) Index++;
          str2.Insert(str1[Index-1],1);      // вытаскиваем серединку
          str2.Insert(str1[Index],2);
          str2.Insert(str1[Index+1],3);
          str2.Insert(str1[Index+2],4);
          Umnog = StrToInt(str2);
          str2="";
        }
        else   Umnog = StrToInt(str1);
 
     }
 
 
}
Вложения
Тип файла: rar rand2.rar (34.8 Кб, 29 просмотров)
0
4 / 4 / 0
Регистрация: 06.02.2012
Сообщений: 62
07.05.2012, 22:52  [ТС] 6
У меня в конструкторе не компилирует проект в этом архиве 62.RAR, проект rand.rar норм работает...
Я так понял что rand.rar он генер числа и по времени и по числу?
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
07.05.2012, 23:01 7
rand - генерация только по числу введенному в поле
rand2 - генерация по числу введенному в поле или отдельной кнопкой по времени
0
4 / 4 / 0
Регистрация: 06.02.2012
Сообщений: 62
07.05.2012, 23:19  [ТС] 8
Кидаю виде с голосом, там суть проблемы... и можно желательно в этой же форме и получить олтвет или только голосом... что бы я понял) видео оч сильно сжатое но рассмотреть можно
Вложения
Тип файла: zip 62.zip (207.3 Кб, 11 просмотров)
Тип файла: rar capture-1.rar (1.94 Мб, 12 просмотров)
0
4 / 4 / 0
Регистрация: 06.02.2012
Сообщений: 62
07.05.2012, 23:38  [ТС] 9
ну как двигается дело?
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
07.05.2012, 23:39 10
относительно моего варианта.
на видео показано программа которую я выложил первой (архив называется rand) - она генерирует числа только на основе введенного числа (с временем она не работает).
если вы скачаете второй выложенный архив (название rand2) - этот вариант работает и с введенным числом и с временем (две отдельные кнопки).
по варианту от nick42 не чего не скажу, у меня такая же ошибка .
0
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
07.05.2012, 23:47 11
Цитата Сообщение от Drygba Посмотреть сообщение
у меня такая же
- какая же? покажите, ради бога! Я у себя не могу добиться; все работает - и в рантайме, и с панели редактора... . На видео я без очков не рассмотрю...
0
4 / 4 / 0
Регистрация: 06.02.2012
Сообщений: 62
07.05.2012, 23:49  [ТС] 12
Очень благодарен и на этом*)
Могли бы вы еще и это посмотреть тоже надо по немогу https://www.cyberforum.ru/cpp-... ost3003064
0
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
08.05.2012, 00:01 13
Цитата Сообщение от nick42 Посмотреть сообщение
какая же?
1. открываем ваш проект
2. жмем Run
3. получаем ошибку
4. закрываем Builder через диспетчер задач
Миниатюры
Генератор случайных чисел  
0
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
08.05.2012, 00:09 14
- понял. В файле bpr диск G фигурирует. У вас его нет. (за всем не уследишь...). Сейчас подправлю.
0
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
08.05.2012, 00:16 15
_Может с этим "продуктом" не будет конфуза__
Вложения
Тип файла: rar 63.RAR (208.4 Кб, 24 просмотров)
1
4 / 4 / 0
Регистрация: 06.02.2012
Сообщений: 62
08.05.2012, 00:19  [ТС] 16
nick42, вот еще одна ошибка постоянно выскакивает
Миниатюры
Генератор случайных чисел  
0
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
08.05.2012, 00:32 17
может в поле Edit пусто? Недостаточно информации. Проследи по коду, в какой момент ошибка (просто комментируй пофрагментно). У меня такая ошибка ни разу не выскочила...
0
4 / 4 / 0
Регистрация: 06.02.2012
Сообщений: 62
08.05.2012, 00:39  [ТС] 18
nick42, я смотрю у вашей программе есть 2 варианта выбора они оба работают?
Миниатюры
Генератор случайных чисел  
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.05.2012, 00:57 19
Сергей123456, запусти экзешник из проекта проверь- он работает .
Просто эдит должен быть заполнен числами чтоб ошибка не выскакивала...
0
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,064
08.05.2012, 07:03 20
Все работает!
Просто добавте проверку на случай если в поле Edit чтото вбито не то, человек все закоментил чтоб можнобыло дальше раскручивать код...
Миниатюры
Генератор случайных чисел  
1
08.05.2012, 07:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2012, 07:03
Помогаю со студенческими работами здесь

генератор случайных чисел в треугольнике
Привет, помогите с задачей! Написать программу вращения треугольника вокруг точки, лежащей внутри...

Генератор случайных чисел и Randomize
Подскажите пожалуйста как задать в генераторе случайных чисел интервал то есть чтобы он генерировал...

Генератор случайных чисел в заданном диапазоне???
Нужно число в диапазоне. Я делаю так: int a = 20 ; int b = 120 ; int c ; c = a + rand()%b ;...

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru