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

5 СПОСОБОВ задержки времени: Что скажете? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нюансы динамической памяти http://www.cyberforum.ru/cpp/thread75960.html
вобщем у меня очень непонятная трабла. есть двумерный массив из объектов класса NET. в классе NET есть небольшой массив указателей на объекты класса Object. массив NET инициализируется так: NET** Object::net=new NET* ; for (int i=0;i<Object::NET_n;i++) { Object::net=new NET; for (int j=0;j<100;j++) Object::net=NET (i-500,j); } конструкторы NET:
C++ надо решить лабу по праграммированию Описать структуру с именем ZNAK содержащую следующие поля: • Фамилия, имя; • Знак Зодиака; • Дата рождения (массив из трёх чисел). http://www.cyberforum.ru/cpp/thread75957.html
C++ Строки в C++
Дано предложениею. В нем только 2 слова одинаковые . НАйти эти слова
C++ Дерево каталогов
помогите разработать программу , которая выводит дерево каталогов (с нужным количеством отступов, в зависимости от уровня вложенности каталога) начиная с указанного в качестве параметра каталога. Если программе указан параметр -f (--file), программа должна выводить не только имена каталогов, но и имена файлов, которые в каталогах присутствуют. Программа по умолчанию показывает только ...
C++ помогите пожалуйста, очень СРОЧНО http://www.cyberforum.ru/cpp/thread75784.html
1. Дана последовательность из 100 целых чисел. Определить количество чисел в наиболее длинной подпоследовательности из подряд идущих нулей. 2. Дано число. Разделить каждую цифру числа на его порядковый номер. Полученное число напечатать. 3. В одномерном массиве, состоящем из n вещественных элементов, вычислить: • количество элементов массива равных нулю; • сумму элементов,...
C++ Чтение байтового файла ifstream fin; Считывая по байту из файла методом get(), столкнулся с проблемой. Дойдя до символа с кодом 26 (конец файла), программа перестает считывать, хотя этот символ отнюдь не говорит о том, что файл закончен, просто код у байта такой. До этого просто при помощи ">>" считывал, но там еще хуже, она на переводах строки падала. Может быть кто-нибудь знает, каким образом можно считать ВСЕ... подробнее

Показать сообщение отдельно
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224

5 СПОСОБОВ задержки времени: Что скажете? - C++

17.12.2009, 20:38. Просмотров 17510. Ответов 21
Метки (Все метки)

В Linux работают 100%, в Windows не проверял, но тоже должны работать.

1. используя nanosleep:

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
 
 
 
using namespace std;
 
 
 
int msleep(unsigned long milisec)  
 
{  
 
    struct timespec req={0};  
 
    time_t sec=(int)(milisec/1000);  
 
    milisec=milisec-(sec*1000);  
 
    req.tv_sec=sec;  
 
    req.tv_nsec=milisec*1000000L;  
 
    while(nanosleep(&req,&req)==-1)  
 
        continue;  
 
    return 1;  
 
}  
 
 
 
int main()
 
{
 
    cout << "Testing nanosleep: waiting 5 secs\n";
 
    msleep(5000);
 
    cout << "That is it";
 
}
2. используя usleep:

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
29
30
31
32
33
34
35
#include <iostream>
 
#include <time.h> 
 
 
 
using namespace std;
 
 
 
void Sleep(float s)
 
{
 
    int sec = int(s*1000000);
 
    usleep(sec);
 
}
 
 
 
int main ()
 
{
 
    cout << "Waiting 5 secs\n";
 
    Sleep(5);
 
    printf ("FIRE!!!\n");
 
  return 0;
 
}
3. используя CLOCKS_PER_SEC:

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
 
#include <time.h> 
 
 
 
void wait ( int seconds )
 
{
 
  clock_t endwait;
 
  endwait = clock () + seconds * CLOCKS_PER_SEC ;
 
  while (clock() < endwait) {}
 
}
 
 
 
int main ()
 
{
 
  int n;
 
  printf ("Starting countdown...\n");
 
  for (n=10; n>0; n--)
 
  {
 
    printf ("%d\n",n);
 
    wait (1);
 
  }
 
  printf ("FIRE!!!\n");
 
  return 0;
 
}
4. используя sleep:

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
#include <iostream>
 
#include <time.h>
 
 
 
using namespace std;
 
 
 
int main()
 
{
 
    cout << "SomeAction\n";
 
    cout << endl;
 
    sleep(1);               // seconds
 
    cout << "NextAction\n";
 
    return 0;
 
}
5. используя sleep:

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
#include <iostream>
 
#include <time.h>
 
 
 
using namespace std;
 
 
 
int main()
 
{
 
    cout << "SomeAction\n";
 
    cout.flush();
 
    sleep(1);               // seconds
 
    cout << "NextAction\n";
 
    return 0;
 
}
Собственно вопрос: как вы считаете, все ли они акуратны и какой из них самый предпочтительный (в плане точности)?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru