Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
fuelcs
12 / 12 / 0
Регистрация: 23.01.2013
Сообщений: 143
#1

Алгоритм задержки - C++

28.01.2013, 00:29. Просмотров 805. Ответов 12
Метки нет (Все метки)

Добрый вечер.
Хочу попробовать динамически выводить текст в консоли. Какой алгоритм создания задержки? Не через функцию
C++
1
Sleep().
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2013, 00:29     Алгоритм задержки
Посмотрите здесь:

функция задержки - C++
Подскажите, как называется функция задержки? например в делфи delay(1000)-подождать секунду, а в с++ ?

Реализация трехсекундной задержки - C++
как реализовать задержку на 3 секунды в ходе выполнения программы?

Функция задержки времени - C++
Здравствуйте! Пишу программу на Visual Studio C++, и возник вопрос. Как сделать допустим вывод информации "Программа завершена!" и затем...

нет задержки экрана - C++
#include <iostream> using namespace std; int main () { int fleas; cout<<"Yow many fleas does your cat have?\n"; ...

Определение задержки между посылками COM - C++
Здравствуйте, возможно ли определить временную задержку между байтами принимаемыми через COM?? Добавлено через 1 час 47 минут упп

Библиотека с функциями подачи и задержки звука - C++
какую библиотеку подключить в Visual studio 2013 чтобы использовать функции задержки и подачи звукового сигнала? Добавлено через 7...

Подскажите куда вставить код с функцией задержки? - C++
const int in3 = 2; const int in4 = 3; const int en2 = 5; void setup() { pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7162 / 4328 / 631
Регистрация: 29.11.2010
Сообщений: 11,750
28.01.2013, 00:31     Алгоритм задержки #2
чем вам эта функция не нравится? Можно через таймер делать, конечно, но зачем?
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
28.01.2013, 02:00     Алгоритм задержки #3
C++
1
2
3
4
5
for (int i= 0; i<1000; i++)
for (int j= 0; j<1000; j++)
for (int k= 0; k<1000; k++)
...
for (int n= 0; n<1000; n++);
методом научного тыка подбираешь диапазоны и количество циклов.
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
28.01.2013, 02:11     Алгоритм задержки #4
kravam, такое только при дебаге работает, в релиз версии не прокатит.
NoMasters
Псевдослучайный
1747 / 1090 / 71
Регистрация: 13.09.2011
Сообщений: 3,120
28.01.2013, 02:13     Алгоритм задержки #5
UnsKneD, отключи оптимизацию, будет работать. Но не нужно.
ТС, чем именно тебе не угодил слип?
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
28.01.2013, 02:20     Алгоритм задержки #6
UnsKneD, не знаю я ни про какие дебаги; а вообще в цикле можно что-нибудь делать. Тогда везде прокатит.
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
28.01.2013, 02:38     Алгоритм задержки #7
NoMasters, можно конечно, но глупо когда есть Sleep();
Avazart
Эксперт С++
7115 / 5292 / 273
Регистрация: 10.12.2010
Сообщений: 23,401
Записей в блоге: 17
28.01.2013, 03:01     Алгоритм задержки #8
По идее должно работать
C++
1
for (volatile int n=0 ; n<1000000; n++);
fuelcs
12 / 12 / 0
Регистрация: 23.01.2013
Сообщений: 143
28.01.2013, 12:31  [ТС]     Алгоритм задержки #9
Цитата Сообщение от Avazart Посмотреть сообщение
По идее должно работать
C++
1
for (volatile int n=0 ; n<1000000; n++);
Как по мне это эквивалентно
C++
1
Sleep().
, в том плане что мы останавливаем выполнение программы. К тому же через цикл скорее всего будет 100% загрузка процессора.

Возможно не корректно задал вопрос. Не знаю как правильно алгоритм обозвать. Нужно выполнять определенные действия (вывод символов на экран) через определенные промежутки времени, но не останавливать программу.

Просто не хочется изобретать велосипед.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,012
28.01.2013, 12:48     Алгоритм задержки #10
fuelcs, можно в одном потоке выводить символы с задержкой, в другом - выполнять вычисления.
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
28.01.2013, 12:49     Алгоритм задержки #11
C++
1
2
3
4
5
6
7
8
#include <windows.h>
 
unsigned int tt = GetTickCount(), dt = 1000;
while(GetTickCount() < tt + dt)
{
cout << "Ждем\n";
}
cout << "Дождались\n";
Добавлено через 1 минуту
А эти ваши циклы на разных машинах по-разному работать будут, даже если отключить оптимизацию
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
28.01.2013, 13:22     Алгоритм задержки #12
Цитата Сообщение от fuelcs Посмотреть сообщение
Нужно выполнять определенные действия (вывод символов на экран) через определенные промежутки времени, но не останавливать программу.
ну так многопоточное программирование самое оно. Делаешь два потока. В одном используешь ту же самую Sleep. И когда один поток остановится, второй будет работать и делать чё тебе надо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2013, 14:24     Алгоритм задержки
Еще ссылки по теме:

Осуществить движение змейки без задержки на ожидания ввода - C++
Я вот пишу змейку и у меня встал вопрос. Змейка движется сама, то есть мы управляем только ее поворотом. Но управление производится с...

Поочередный вывод на экран без задержки всей программы - C++
Имеется форма, на ней статус бар, который должен выполняться постоянно. Внизу формы должна быть прорисовка обьекта постепенно...

Объясните тупому почему задержка потока по Sleep() больше чем ... с вызывает задержки и других потоков? - C++
Какое отношение они имеют к данному потоку?Ну спит он себе и спит, пусть он выполняется раз в 5 секунд, допустим, чаще не надо-другие-то...

Задержки - C# WPF
Всем добрый вечер! Недавно начал изучать WPF, и сейчас возникла одна проблема. Есть массив из Rectangle, нужно изменить в цикле Opacity...

Функция задержки - JavaScript
Пробую для эксперимента написать чтоб при нажатии на кнопку происхдила задержка картинки, но при нажатии на кнопку ничего не происходит, не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
fuelcs
12 / 12 / 0
Регистрация: 23.01.2013
Сообщений: 143
28.01.2013, 14:24  [ТС]     Алгоритм задержки #13
Есть код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <ctime>
#include <conio.h>
 
using namespace std;
 
int main ()
{   
    clock_t latency [2]={1000,3000};
    clock_t last [2]={0,0};
    char text [2][255] = {"Sample 1, Sample 2"};
 
    for (;;)
    {
        for (int i=0;i<2;i++)
        {
            if ( (clock()-latency[i]) >= last[i])
            {
                cout << text[i] << "  ";
                last[i]=clock();
            }
        }
        if (_kbhit())
            break;
    }
 
    return 0;
}
По идеи вывод текста Sample 1 должен быть в три раза чаще чем Sample 2. Но текст почему то выводится одновременно.
В чем ошибка?

Добавлено через 3 минуты
Сори, недоглядел:
C++
1
char text [2][255] = {"Sample 1, Sample 2"};
Добавлено через 1 минуту
Еще вопрос, значение clock() нужно переводить в секунды? Что бы задержка была одинакова на любой машине?
Yandex
Объявления
28.01.2013, 14:24     Алгоритм задержки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru