tgoop.com/Learncpp/1233
Create:
Last Update:
Last Update:
#ctime #time.h #clock
🔵زمان (time)
🔹تابع clockclock_t clock(void);
آیا دوست دارید بدانید برنامه تان چند ثانیه برای اجرا زمان گرفته است ؟؟؟
این تابع به این صورت کار می کند که زمان سپری شده توسط CPU که برای برنامه ی شما مصرف شده را بر می گرداند ولی مقداری که این تابع بر می گرداند بر حسب clock_t هست.
🔹مقادیر بازگشتی :
تابع اگر بتواند زمان را محاسبه کند یک عدد در قالب clock برای ما می فرستد اگر نتواند مقدار منفی یک (1-) را بر می گرداند.
⚠️ ممکن است شما یک برنامه را روی چند تا کامپیوتر تست کنید اگر جواب های مختلف گرفتید تعجب نکنید چون ممکن است سرعت پردازنده ها با هم فرق کند یا اگر روی دو کامپیوتر کاملا مشابه در دو محیط مختلف تست کردید و جواب متفاوتی دیدید ممکن است شرایط محیطی روی کار پردازنده تاثیر گذاشته باشد...
1. #include <iostream>
2. #include <ctime>
3. using namespace std;
4. int main( )
5. {
6. clock clk;
7. for(int i=0;i<=9999;i++)
8. {
9. cout<<i<<endl;
10. }
11. clk=clock( );
12. cout<<clk<<endl;
13. return 0;
14. }
Output :
1001
در خط 8 حلقه اعداد 0 تا 9999 را چاپ می کند تا زمانی تلف شود.
در خط 12 زمان را داخل متغیر clk قرار می دهیم و سپس آن چاپ می کنیم.
اما همان طور که می بینید یک عدد بر می گرداند که امکان ندارد زمان برنامه باشد یعنی یک حلقه ی کوچک 1001 ثانیه طول می کشد ؟؟؟
خوب پس چطوری به یک عدد معقول تبدیلش کنیم ؟؟؟
برای این کار باید clk را به یک عدد float تبدیل کنیم بعد بر ثابت CLOCKS_PER_SEC تقسیمش کنیم.
برای درک بهتر به مثال پایین توجه کنید:
cout<<((float)clk)/ CLOCKS_PER_SEC<<endl;
1. #include <iostream>
2. #include <ctime>
3. using namespace std;
4. int main( )
5. {
6. clock clk;
7. for(int i=0; i<=999; i++)
8. {
9.// دستورات
10. }
11. clk=clock( );
12. for(int j=0;j<=99999;j++)
13. {
14.// دستورات
15. }
16. clk=clock( )–clk;
17. cout<<((float)clk)/CLOCKS_PER_SEC<<endl;
18. return 0;
19. }
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
BY Learning ©➕➕
Share with your friend now:
tgoop.com/Learncpp/1233