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;
}
*grab popcorn* viết 20:15 ngày 30/09/2018

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

LazyCat viết 20:24 ngày 30/09/2018
  • Thứ nhất bạn nên cho input nhập vào n có nhiều số một tí
  • Thứ hai là chỗ %.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 theo miliseconds, bạn nên thêm chữ miliseconds vào đấy nhé
Bài liên quan
0