View Full Version : محاسبه زمان اجرای برنامه
root88
یک شنبه 07 فروردین 1390, 11:02 صبح
با سلام، من می خوام زمان اجرای برنامه رو حساب کنم بر حسب میلی ثانیه،از دستور زیر استفاده کردم اما نمی تونه اختلاف زمان بین ابتدا و انتهای اجرای برنامه رو بده و عدد منفی میده. لطفا راهنمایی کنید.
SYSTEMTIME T1,T2;
GetLocalTime(T1);
.
.
.
.
.
.
GetLocalTime(T2);
cout<<T2.wMilliseconds-T1.wMilliseconds;
quiet_programmer
یک شنبه 07 فروردین 1390, 11:34 صبح
با سلام.
کد زیر مدت زمان اجرای برنامه تا پایان رو برحسب ثانیه ثبت میکنه.
#include <stdio.h>
#include <time.h>
int main ()
{
time_t start,end;
char szInput [256];
double dif;
time (&start);
printf ("Please, enter your name: ");
gets (szInput);
time (&end);
dif = difftime (end,start);
printf ("Hi %s.\n", szInput);
printf ("It took you %.2lf seconds to type your name.\n", dif );
return 0;
}
کد از: http://www.cplusplus.com/reference/clibrary/ctime/difftime/
root88
یک شنبه 07 فروردین 1390, 13:08 عصر
ممنون دوستت عزیز، باید برحسب میلی ثانیه باشه چون زمان اجراهای برنامه هام خیلی به هم نزدیکه باید اختلافشونو برحسب میلی ثانیه به دست بیارم.
hi level hdd
یک شنبه 07 فروردین 1390, 14:12 عصر
با سلام
چون میلی ثانیه خیلی سریع حرکت میکنه زمان ثبت T2 مقدار کمتری از T1 میشه به همین علت مقدار منفی میده.مثلا زمان ثبت ثانیه اول 12 میلی ثانیه
ولی زمان ثبت دومی 8 میلی ثانیه به وقت سیستم هستش که مطمئنا عدد منفی میشه.راه حلش اینه که از ترکیب ثانیه و میلی ثانیه استفاده کنی و برای نمایش عدد مربوطه را به میلی ثانه نمایش بدی.
root88
یک شنبه 07 فروردین 1390, 15:50 عصر
مرسی، من از دستوری به فرم زیر استفاده کردم،اما باز هم مشکل داشت
int time=T1.wMilliseconds+T1.wSecond*1000;
hi level hdd
دوشنبه 08 فروردین 1390, 00:49 صبح
منظورتونو از این کار متوجه نمیشم ولی کار به این صورته که مثلا میخواهید عدد 9127845 رو از عدد 6547895 کم کنید.
اول اعداد یکان رو از هم کم میکنید اگر مقدار کم آورد از دهگان کمک میگیرید و الی اخر.
اینجا هم به همین شکل عمل کنید، زمان سیستم را به صورت میلی ثانیه ، ثانیه ، دقیقه و در صورت لزوم ساعت رو در متغیری
نگه دارید.انتهای برنامه نیز در متغیرهای جدید همان عناصر رو ذخیره کنید.برای راحتی کار همه مقادیر رو به میلی ثانیه تبدیل کنید.
یعنی ثانیه ضرب در 1000 و دقیقه ضرب در 60000 و تا آخر بعد دو عدد بدست آمده از متغیر دوم ساعت را از متغیر اول کم کن.مقدار بدست آمده
زمان اجرای برنامه اصلی است.
ashkan_d13
دوشنبه 08 فروردین 1390, 08:39 صبح
سلام،
اینو امتحان کنید:
#include<time.h>
time_t start;
start=clock();
...
cout<<clock()-start;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.