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

как узнать время работы программы решения алгоритма - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ последовательность http://www.cyberforum.ru/cpp-beginners/thread574810.html
Даны n, последовательность n x , x ,...x 1 2 . Получить (1+R)/(1+S), где R – сумма тех членов последовательности, которые не превосходят 1, а S – сумма членов, больших 1. Использовать динамические массивы.
C++ strtok() Необходимо выводить имя в формате Фамилия И. или Фамилия И.О. Для этого решил исполльзовать функцию strtok. Т.е. сначала я вывожу полностью фамилию, а затем имя и, в случае, если есть отчество, то и отчество (например, такие имена как Бьерн Страуструп отчества не имеют, поэтому вывести необходимо только Бьерн С.). Одну и тоже фамилию придется выводить больше одного раза. Тут возникли проблемы. ... http://www.cyberforum.ru/cpp-beginners/thread574799.html
Алгоритм планирования процессов First-Come, First-Served (FCFS) C++
Проюзал инет и не нашёл вообще информации( Кинте ссылку, на инфу З.Ы. Админ, извини, не знаю в какой раздел форума запостить
Матрица C++
Помогите сделать прогу(С++). Матрица 6х4 найти в ней мин. и макс. элемент и поменять их местами. Спасибо.
C++ ANSI или UNICODE? http://www.cyberforum.ru/cpp-beginners/thread574762.html
Как определить в свойствах программы какой тип символов должен быть использован? Где в Microsoft Visual Studio можно это увидеть?
C++ Помогите с textbox пожалуйста нужно чтобы цикл каждый раз вписывал букву в следующий текстбокс, то есть его номер должен совпадать с i String^ s="academia"; for (int i=0; i<8; i++) { char a=s; if (s=='a') { this->textBox1->AppendText("а"); подробнее

Показать сообщение отдельно
IrinaVl
Сообщений: n/a
15.05.2012, 00:50     как узнать время работы программы решения алгоритма
Добрый вечер!
Подскажите, пожалуйста, как сделать так, чтобы программа выводила на экран время, затраченное на решение алгоритма? Можно ли узнать, сколько ресурсов затрачено на решение?

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <iostream.h>
#include <conio.h>
#include <windows.h>
#include<iomanip.h>
    
char NEWT[256];
char*RUS(char*TEXT) {
CharToOem(TEXT,NEWT);
return NEWT;}
 
int v;
int main()
{   int i,j;
   int infinity=1000;                 
                                        
   int VES[100][100];                       
 
   int x[100];                            
                                         
   
   int DlinaPuti[100];                   
 
   int PredVertex[100];                   
   int VERTEX;
   int p;                         
cout<<RUS("Ввести количество вершин в графе ")<<endl;
cin>>VERTEX;p= VERTEX;                   
cout<<RUS("Заполните матрицу весов графа ")<<endl;      
cout<<setw(4);
for (i=0;i<VERTEX;i++)
cout<<" x "<<i+1;
cout<<endl;
 
for(i=0;i<VERTEX;i++)
{cout<<"X"<<i+1<<'|';
for(j=0;j<VERTEX;j++)
cin>>VES[i][j];}
 
                                       
   int start;                           
   int end;                             
N: cout<<RUS("Введите стартовую вершину: ");   
   cin>>start;
   if (start>(p-1) && start<0) {cout<<RUS("Нет такой вершины повторите ввод...)"<<endl; goto N; } 
   start=start-1;                      
   for (int prosto=0;prosto<VERTEX;prosto++)
   {end=prosto;                         
   if (end==start) continue;         
   else
   {
 
                                      
   int u;                               
   for (u=0;u<p;u++)
   {
       DlinaPuti[u]=infinity;                  
      x[u]=0;                           
   }
   PredVertex[start]=0;                   
   DlinaPuti[start]=0;                    
   x[start]=1;                             
   v=start;                               
   
   while(1)
   {
                                       
      for(u=0;u<p;u++)
      {
         if(VES[v][u]==0)continue;      
         if(x[u]==0 && DlinaPuti[u]>DlinaPuti[v]+VES[v][u]) 
                                       
         {
            DlinaPuti[u]=DlinaPuti[v]+VES[v][u];           
           PredVertex[u]=v;                    
         }
      }
 
                                        
      int w=infinity;                  
      v=-1;                            
                                        
      for(u=0;u<p;u++)                
      {
         if(x[u]==0 && DlinaPuti[u]<w)          
         {
            v=u;                         
            w= DlinaPuti[u];
         }
      }
      if(v==-1)
      {
         cout<<RUS("Нет пути из вершины ")<<start+1;cout<<RUS(" в вершину ")<<end+1<<"."<<endl;
         break;
      }
      if(v==end)                           
      {                                 
         cout<<RUS("Кратчайший путь из вершины ")<<start+1;cout<<RUS(" в вершину ")<<end+1<<":";
       u=end;
       while(u!=start)
         {
            cout<<" "<<u+1;
            u=PredVertex[u];
         }
         cout<<" "<<start+1<<RUS(". Длина пути - ")<< DlinaPuti[end];cout<<endl;
       break;
      }
      x[v]=1;
   }}}
   
return 0;}

Заранее спасибо!

Добавлено через 22 минуты
Использую такой подход, но ничего не выводит...выводит или 0,0000 или 0,00100.

C++
1
2
3
4
clock_t start, end;
    start=clock();
end=clock();
    printf(" %.4f second(s)\n",((double) end - start)/((double) CLOCKS_PER_SEC));
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru