Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1011
от 01.03.2008, 07:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 476, Экспертов: 53
В номере:Вопросов: 4, Ответов: 7

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 124574: здраствуйте, есть такой вопрос: в С++ для получения случайного значения есть функция rand(), она конечно дает случайное число, но один раз: на этапе компиляции, и потом оно повторяется, если даже стереть экзешник и откомпилить заново. Можно ли сделат...
Вопрос № 124673: Здраствуйте Эксперты. Требуеться помощь в написании програмы на языке С (именно на С не С++), задание в приложении....
Вопрос № 124683: Алгоритмические языки и программирование Лаборторная работа № 0.5 «Быстроге возведение в целую неотрицательную степень. Числа Армстронга» Краткая справка: Алгоритм быстрого возведения числа в целую положительную степен...
Вопрос № 124684: Помогите пожалуста написать код программы: Определить иерархию очередей, которая будет содержать абстрактную очередь, очередь с подсматриванием PeekBackQue и очередь с мошенничеством CheatQue. (Последняя позволяет не только подсмотреть, но и заме...

Вопрос № 124.574
здраствуйте, есть такой вопрос: в С++ для получения случайного значения есть функция rand(), она конечно дает случайное число, но один раз: на этапе компиляции, и потом оно повторяется, если даже стереть экзешник и откомпилить заново. Можно ли сделать так, чтобы числа были каждый раз разными при запуске своего экзешника???
Отправлен: 24.02.2008, 08:24
Вопрос задал: Malax AA (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Dr_Andrew
Здравствуйте, Malax AA!
Функция rand() генерирует псевдослучайные числа, которые повторяются, что удобно для отладки. Для того, чтобы функция rand() генерировала по-настоящему случайные числа, то до её вызова один раз необходимо вызвать функцию srand, которая в качестве аргумента получает текущее время от таймера: srand(time(NULL)). Функция srand() вызывается один раз, обычно в начале программы (см. пример в приложении)

Приложение:

Ответ отправил: Dr_Andrew (статус: 7-ой класс)
Ответ отправлен: 24.02.2008, 09:18
Оценка за ответ: 5

Отвечает: Garmash Dima
Здравствуйте, Malaxov AA!
да. Нужно просто в начале приложения написать srand((int)time(NULL)); и подключить файл time.h.
srand инициализирует функцию случайных чисел, а (int)time(NULL)- всегда разное(время постоянно идет...), что и дает каждый раз разные значения.
---------
Шизофрения это нормально
Ответ отправил: Garmash Dima (статус: 3-ий класс)
Ответ отправлен: 24.02.2008, 13:23
Оценка за ответ: 5

Отвечает: shayen
Здравствуйте, Malaxov AA!
для того чтобы при каждом запуске функции rand(), она выдавала новое значение ей нужно задать начальную точку отсчёта, это делается функцией srand(), удобнее всего воспользоваться, для начального смещения, функцией времени которая находится в time.h,если использовать srand(time(NULL)) то функчия вернёт количество милисекунд прошедших с 1 января 1970г.
Функция srand() обладает следующим синтаксисом
void srand(unsigned int start)
Для получения числа в диапазоне от 0 до x, можно воспользоваться следующей конструкцией
rand()%x

Приложение:

Ответ отправил: shayen (статус: 3-ий класс)
Ответ отправлен: 24.02.2008, 15:42
Оценка за ответ: 5


Вопрос № 124.673
Здраствуйте Эксперты. Требуеться помощь в написании програмы на языке С (именно на С не С++), задание в приложении.

Приложение:

Отправлен: 24.02.2008, 23:04
Вопрос задал: ValZdoM (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ross
Здравствуйте, ValZdoM!

Вот ваша функция. Собирал программу компилятором с++, поэтому на 100% гарантировать работоспособность не могу.

Приложение:

---------
Доступно только то, что видимо (c) Б. Керниган

Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 25.02.2008, 03:42

Отвечает: Титов Михаил Анатольевич
Здравствуйте, ValZdoM!

К ответу эксперта Ross: функция работает и для C и для С++ если исправить опечатку:

вместо
geom_mean = pow(geom_mean,double(1)/size);

следует написать (приведение типа)
geom_mean = pow(geom_mean, (double)1/size);

В приложение пример с вызовом.

Приложение:

Ответ отправил: Титов Михаил Анатольевич (статус: 5-ый класс)
Ответ отправлен: 25.02.2008, 06:28
Оценка за ответ: 5


Вопрос № 124.683
Алгоритмические языки и программирование

Лаборторная работа № 0.5

«Быстроге возведение в целую неотрицательную степень.
Числа Армстронга»
Краткая справка:
Алгоритм быстрого возведения числа в целую положительную степень использует только элементарные операции умножения и сходится за меньшее число операций, чем последвательное умножение. В основе алгоритма лежит инвариантное соотношение a^n=p*b^k=const для множества троек {b,k,p} Начальным значением будет {a,n,1} .Условием выхода – k=0 причем искомая величина находится в p.Инвариантные преобразования, при которых k уменьшается при сохранении соотношения, выглядят следующим образом:
T {b,k,p}={b*b,k/2,p} при четном k
T {b,k,p}={b,k-1,p*b} при нечетном k

Числами Армстронга называют такие n-значные числа, которые равны сумме n ных степеней составляющих их цифр. Например 548834= 5^6+4^6+8^6+8^6+3^6+4^6. Число n называют основанием соответствующего числа Армстронга.

Задание:
1. Составить функцию по шаблону
unsigned long intpower( unsigned long a, unsigned long n ) возводящую a в степень n с использованием инвараинтного алгоритма.
2. Испльзуя полученную функцию составить программу, находящую все числа Армстронга с основаниями от 2 до целого положительного M < 8.
3. Вывести на экран найденные числа и их основания.
Отправлен: 24.02.2008, 23:45
Вопрос задал: Vlastelin (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Терсков Сергей
Здравствуйте, Vlastelin!
В своем вопросе вы дали практически полное описание нужных вам функций. Написать их - это лишь дело техники... В приложении вы найдете из реализацию...

Приложение:

Ответ отправил: Терсков Сергей (статус: Практикант)
Ответ отправлен: 26.02.2008, 06:33
Оценка за ответ: 5
Комментарий оценки:
надеюсь,подойдет=)заслуженная 5!


Вопрос № 124.684
Помогите пожалуста написать код программы:
Определить иерархию очередей, которая будет содержать абстрактную очередь, очередь с подсматриванием PeekBackQue и очередь с мошенничеством CheatQue. (Последняя позволяет не только подсмотреть, но и заменить заданный элемент очереди).
Отправлен: 24.02.2008, 23:46
Вопрос задал: Lordthief (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ross
Здравствуйте, Lordthief!

Насчет абстрактной очереди немного не понял =(. Какие функции класса делать виртуальными?... Вобщем если чтото не так - в минифорум.
Реализацию конструктора копирования оставил на ваше усмотрение (комментарий: "add code here").

Приложение:

---------
Доступно только то, что видимо (c) Б. Керниган

Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 25.02.2008, 03:27
Оценка за ответ: 4


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.71 от 27.02.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное