![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 25.04.2010
Сообщений: 6
|
![]()
Мне нужно ограничить выполнение функции определенным количеством таков, как это можно сделать?
|
![]() |
![]() |
![]() |
#2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
if (takt > some_value) return;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#3 |
Регистрация: 25.04.2010
Сообщений: 6
|
![]()
Ну это понятно, как мне отсчитать такты?
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
А поконкретнее?
Функция вызывается в цикле? Или функция вызывается в нескольких местах программы и нужно вызвать ее по всей программе не больше N раз? Или вообще имеются в виду такты процессора?
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#5 |
Регистрация: 25.04.2010
Сообщений: 6
|
![]()
Функция рекурсивная, организует бэктрекинг, если функция работает слишком долго, то она должна возвратить фолс.
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
Скорее всего, необходимо использовать переменную static.
Код:
Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#7 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
![]()
В параметры функции передавайте счетчик тактов. На каждом рекурсивном шаге увеличивайте и передавайте рекурсивно этот счетчик.
Ну или без параметра можно глобальную переменную сделать и обнулять перед каждым первым вызовом рекурсивной функции Код:
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 25.04.2010
Сообщений: 6
|
![]()
Я уже сделал со статиком, только ограничить нужно каждый экземпляр функции, для этого я использовал вектор ограничителей, но я сделал ограничение по времени, поэтому на разных машинах программа будет работать по разному, а как ограничить по тактам я не знаю
Последний раз редактировалось AlterX; 23.05.2010 в 13:37. |
![]() |
![]() |
![]() |
#9 |
Регистрация: 25.04.2010
Сообщений: 6
|
![]()
Что-то никто не отвечает... Вопрос всё ещё открыт.
Последний раз редактировалось AlterX; 23.05.2010 в 16:47. |
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,829
|
![]() Цитата:
Когда не уверен, что простейшие циклы будут на разных процах выполнятся за одно и то же количество тактов? Прибавьте планировщик ОС, многозадачность, ... |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Функции и выполнения | Romms | Общие вопросы Delphi | 2 | 27.09.2009 13:49 |
Как определить время выполнения конкретный функции? | Alex Cones | Общие вопросы Delphi | 8 | 24.09.2009 11:42 |
Как в ProgressBar отобразить процесс выполнения Post запроса через Idhttp | Joe_Tribbiani | Работа с сетью в Delphi | 8 | 15.06.2009 10:39 |
dll содержащая функции выполнения sql запросов | jb_007 | Помощь студентам | 10 | 13.05.2009 13:39 |
Число тактов процессора | VladimirVB | Компьютерное железо | 3 | 28.11.2008 20:55 |