ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #271  
Старый 11.09.2007, 23:35
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

Ni0x, а то, что значение переменной str не выводится в messagebox'e (пустое поле) это нормально? типа str2hex воркенг или нет?
 

  #272  
Старый 11.09.2007, 23:42
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме:
2009677

Репутация: 472
По умолчанию

Piflit, сама функция рабочая, давай ты скинешь мне полный код своего проекта в пм и я постараюсь помочь.
 

  #273  
Старый 12.09.2007, 13:37
GlOFF
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме:
1845671

Репутация: 1338


По умолчанию

Помогите разобраться с генерацией случайных чисел в MSVC++ v6.0 .
У Borland'a все понятно Randomize и Random(10, 20) - получаем от 10 до 20.
Как быть в VC++ ? srand() , rand() как получить числа от и до. ???
 

  #274  
Старый 12.09.2007, 13:47
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

А в чём сложность? Чем боры выделились в этом плане?

Цитата:
int main(void) {
int i;
time_t t;

srand((unsigned)time(&t));
printf("5 случайных чисел от 0 до 99 \n\n");
for (i=0; i < 5; i++) printf("%d\n", 0 + rand() % 100);

return 0;
}
 

  #275  
Старый 12.09.2007, 17:04
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

Цитата:
srand() , rand() как получить числа от и до. ???
А чего, простите, непонятного?
rand() возвращает рандомное число, следовательно чтобы получить в интервале от A до B надо сделать:

A + rand() % (B-A+1)
 

  #276  
Старый 12.09.2007, 17:07
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

Если тебе так неймется, то:

#define Randomize() srand(time(0)) или srand(GetTickCount()) по желанию
#define Random(A,B) ( (A) + rand() % ((B)-(A)+1) )

Randomize();
printf("Random value from 10 to 20: %d\n", Random(10,20));
 

  #277  
Старый 12.09.2007, 18:25
GlOFF
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме:
1845671

Репутация: 1338


По умолчанию

_Great_ Молодец, как всегда, показал высоты

Цитата:
srand((unsigned)time(&t));
printf("5 случайных чисел от 0 до 99 \n\n");
for (i=0; i < 5; i++) printf("%d\n", 0 + rand() % 100);
Вся проблема в том, что при каждом запуске программа выдает одну и туже последовательность случайных чисел.
 

  #278  
Старый 12.09.2007, 19:20
Ky3bMu4
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
Провел на форуме:
1777536

Репутация: 932


Отправить сообщение для Ky3bMu4 с помощью ICQ
По умолчанию

Код:
#include "time.h"
srand(time(NULL)); //создаём генератор
ИМХО: ранд\сранд - дерьмо. Тока добавляет размер к файлу + нелюбит /ENTRY:WinMain , я делаю так:
Код:
int rand = (GetTickCount())%1000 //получили рандомное 3-х значное число

Последний раз редактировалось Ky3bMu4; 12.09.2007 в 19:23..
 

  #279  
Старый 12.09.2007, 20:00
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме:
2009677

Репутация: 472
По умолчанию

Цитата:
ИМХО: ранд\сранд - дерьмо. Тока добавляет размер к файлу + нелюбит /ENTRY:WinMain
Ты вообще имеешь понятие о том, что делает ENTRY:WinMain ? rand/srand и не должны работать так, ведь это CRT. Вот неплохой пример:
Код:
//         -----------[ random stuff ]-----------
//                           (c) drmist\STNC 2006

#include "windows.h"
#include <stdio.h>
unsigned long rs_randseed;
void _srand();
unsigned long _rand();

void _srand()
{
  rs_randseed = GetTickCount();
}

unsigned long _rand()
{
  rs_randseed++;
  return (rs_randseed*0xF02CE551) + 0x7FF2742B;
}
int main()
{
int a;
_srand();
a=_rand();
char *pa;
printf("This: ",itoa(a,pa,10));
return 0;    
}

//         ^^^                                ^^^
//         -----------[ random stuff ]-----------
 

  #280  
Старый 12.09.2007, 21:14
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

Ni0x, а память выделять для pa, видимо, уже не принято?

Пример, очевидно, стоит переписать:

Код:
int main()
{
  int a;
  char pa[10];

  _srand();
  a=_rand() % 1000;

  printf("This: %s\n",itoa(a,pa,10));
  return 0;    
}

Последний раз редактировалось _Great_; 12.09.2007 в 21:17..
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ