Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: random в Geany (*.cpp)  (Прочитано 2312 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DnS.28Rus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
random в Geany (*.cpp)
« : 01 Декабря 2009, 15:07:57 »
прогаю в Geany, (через g++)
есть ли в убунте аналог виндовой библиотеки conio.h?
конкретнее мне нужны функции randomize --> random, пригодились бы еще getche(), getch() ну или подскажите пожалуйста их аналоги?

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: random в Geany (*.cpp)
« Ответ #1 : 01 Декабря 2009, 15:20:48 »
По поводу рандома см. man 3 rand

Для работы с консолью есть замечательная библиотека ncurses

Оффлайн DnS.28Rus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: random в Geany (*.cpp)
« Ответ #2 : 01 Декабря 2009, 15:30:50 »
Цитировать
man 3 rand
Нет справочной страницы для rand в разделе 3

посмотрел man rand (без 3-ки, но там далеко не для программирования, там функция rand относится к файлам... (ну или я не так понимаю чего-то)

мне нужно использовать генератор псевдослучайных чисел в коде с++, который компилируется по сути стандартным gcc, но через Geany...

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: random в Geany (*.cpp)
« Ответ #3 : 01 Декабря 2009, 15:36:14 »
Нет справочной страницы для rand в разделе 3
Наверное не хватает пакета manpages-dev. Вот интернет-версия

Оффлайн DnS.28Rus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: random в Geany (*.cpp)
« Ответ #4 : 01 Декабря 2009, 15:46:54 »
почитал справку, вроде даже работает, но rand() как и random() выдает огромные значения и на цифру в скобках компилятор ругается. неужели проблема решается только при помощи математических операций (деление, вычитание какого-либо числа и проч.)?

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: random в Geany (*.cpp)
« Ответ #5 : 01 Декабря 2009, 17:10:28 »
Я использовал /dev/random

Как-то так:

long var;
fd=open("/dev/random",O_BINARY|O_RDONLY);
read(fd,&var,sizeof(var));

Но и обычные функции тоже работают.
А Geany вообще не причем, библиотека и компилятор от текстового редактора не зависят.
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: random в Geany (*.cpp)
« Ответ #6 : 01 Декабря 2009, 18:54:27 »
/dev/random это не совсем псевдогенератор. Он при генерации чисел использует cчётчик тактов процессора, на что влияет несколько внешних факторов, таких, как нажатие кнопок на клаве или дёргание мышкой и имеет небольшой буффер и маленькую скорость его пополнения. Если нужно генерировать много рандома, то тогда уж лучше /dev/urandom.

Пользователь решил продолжить мысль [time]Tue Dec  1 16:59:56 2009[/time]:
почитал справку ... на цифру в скобках компилятор ругается.
Плохо читал, т.к.:
long int random(void);
int rand(void);
« Последнее редактирование: 01 Декабря 2009, 19:00:39 от Mam(O)n »

Оффлайн digiwhite

  • Активист
  • *
  • Сообщений: 732
  • http://www.welinux.ru
    • Просмотр профиля
    • http://www.welinux.ru
Re: random в Geany (*.cpp)
« Ответ #7 : 02 Декабря 2009, 00:32:41 »
почитал справку, вроде даже работает, но rand() как и random() выдает огромные значения и на цифру в скобках компилятор ругается. неужели проблема решается только при помощи математических операций (деление, вычитание какого-либо числа и проч.)?

Сюда, друх :) Думаю там вы найдете ответы на свои вопросы.
Социальная сеть не фанатично настроенных Linuxойдов - http://www.welinux.ru

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.