Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2012, 20:33   #1
Дмитрий Захарченко
 
Регистрация: 16.04.2012
Сообщений: 4
Вопрос Регуляция скорости работы программы

Такая реализация
...
clock:
if (clock()%period != 0)
goto clock;
...
дает очень "рваную" работу програмы

Как решить эту проблему?
Дмитрий Захарченко вне форума Ответить с цитированием
Старый 17.04.2012, 22:28   #2
Жека_
Пользователь
 
Регистрация: 24.04.2011
Сообщений: 24
По умолчанию

в смысле "рваную". если имееш ввиду оператор goto, то замени на цикл do ... while
Жека_ вне форума Ответить с цитированием
Старый 17.04.2012, 22:33   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
в смысле "рваную". если имееш ввиду оператор goto, то замени на цикл do ... while
в данном случае будет одно и тоже, так что ждем что имеет в виду ТС под "рваной"
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.04.2012, 17:25   #4
Дмитрий Захарченко
 
Регистрация: 16.04.2012
Сообщений: 4
По умолчанию

Имел ввиду что например такая програма будет выводить значения переменной і
не постоянно на 1 больше, а рывками больше на 5-10
Код:
#include <iostream>
#include <time.h>
#include <windows.h>
int period = 6;
using namespace std;
int main ()
{
    int i = 0, period = 50;
    for(i=0; i<10000; i++)
    {
        cout<<i<<endl;
clock:
        if (clock()%period != 0)
            goto clock;
        system("cls");
    }
}
Дмитрий Захарченко вне форума Ответить с цитированием
Старый 18.04.2012, 17:34   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

помоему просто потому что вы не успеваете увидеть все значения)

советую поменять логику ожидания.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.04.2012, 17:57   #6
Дмитрий Захарченко
 
Регистрация: 16.04.2012
Сообщений: 4
По умолчанию

Просто если я вставляю пустой цикл то успеваю увидеть
десятки и сотни а единицы мигают(как на секундомере)
но так не можно точно задать значение задержки
и оно будет зависеть от компьютера

А в случае с предыдущей программой значения меняются медленно но
не на 1 а на 5-10 сразу

Код:
#include <iostream>
#include <time.h>
#include <windows.h>
int period = 5;
using namespace std;
int main ()
{
    int i = 0, period = 50, j;
    for(i=0; i<10000; i++)
    {
        cout<<i<<endl;

         for(j=0; j<100000; j++)
        {
        }
        system("cls");
    }
}
Дмитрий Захарченко вне форума Ответить с цитированием
Старый 18.04.2012, 18:30   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы инклюдите windows.h, примените уж Sleep(100/*ожидание 100мс*/ )
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.04.2012, 18:40   #8
Дмитрий Захарченко
 
Регистрация: 16.04.2012
Сообщений: 4
По умолчанию

Спасибо
Работает
Дмитрий Захарченко вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Индексирование таблиц и увеличение скорости работы CodeNOT PHP 3 29.04.2011 11:57
Прирост скорости работы ListView t2skler Общие вопросы Delphi 5 13.02.2011 15:28
Уменьшение скорости работы скрипта amdbodia PHP 3 16.01.2011 20:49
С++ под Linux увеличение скорости работы с болванкой Yulka Помощь студентам 0 16.12.2009 21:42
Уменьшение загрузки ЦП и увеличение скорости программы. Shadow_1329 Gamedev - cоздание игр: Unity, OpenGL, DirectX 80 18.08.2009 15:22