30/09/2018, 18:13
Đếm thời gian chạy chương trình trong c++: chỉ hiện 0.00
mấy cái đếm thời gian này thú thật e cũng ko rành lắm. hiện tại e đang học CTDL nên thầy bảo về tự tìm hiểu mà sao e chạy nó cứ 0.00 là sao mấy bác. có phải do em tự nhập phần tử n ít quá nên nó ko đếm dc ko có ai chỉ e vs.
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
#define MAX 100
//nhập mảng
void nhapmang(int a[], int n)
{
for (int i = 0; i < n; i++)
{
cout << "nhap phan tu thu a[" << i << "] :";
cin >> a[i];
}
}
//in mảng
void inmang(int a[], int n)
{
for (int i = 0; i < n; i++)
{
cout << a[i] << " ";
}
cout << endl;
}
// InterChange_Sort
void InterChange_Sort(int a[], int n)
{
int temp;
for (int i = 0; i < n-1; i++)
{
for (int j = i + 1; j < n; j++)
{
if (a[i]>a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[MAX], n,c,b;
cout << "nhap phan tu n=";
cin >> n;
nhapmang(a, n);
inmang(a, n);
cout << "mang sau khi sap xep la:";
clock_t start = clock();// ham bất đầu đếm thời gian thực hiện chương trình
InterChange_Sort(a, n);
inmang(a, n);
clock_t finish = clock();// ham đếm thời gian kết thúc
double duration = (double)(finish - start) / CLOCKS_PER_SEC;
cout <<"
";
printf("Thoi gian thuc thi: %.2lf", duration);
system("pause");
return 0;
}
Bài liên quan
Chương trình chạy quá nhanh chứ ko phải ko đếm đc.
n= 1k mà mất có 0.002~0.004s à
Thì lúc bạn in ra chỉ có 2 số ở phần thực thôi, nên nó in ra 0.00
n
có nhiều số một tí%.2lf
bạn nên sửa thành%.6lf
hoặc lớn hơn để tăng độ chính xác cho kết quả hiện trên màn hình, mà thêm thông tin nữa là thời gian thực thi đấy được tính theomiliseconds
, bạn nên thêm chữmiliseconds
vào đấy nhé