برنامهای به زبان C++ بنویسید که مسیر یک فایل متنی را از ورودی بگیرد، تعداد کلمات و بایتهای آن را شمارش کند و زمان لازم برای خواندن و پردازش فایل را با استفاده از هدر اندازهگیری و همراه نتایج در یک فایل خروجی ذخیره نماید.
2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:12 0.0
در C++ از std::ifstream برای باز کردن فایل (با حالت std::ios::binary برای شمارش بایتها) و از std::chrono::steady_clock یا std::chrono::high_resolution_clock برای گرفتن زمان شروع و پایان استفاده کنید؛ برای خواندن سریع میتوانید از std::istreambuf_iterator یا خواندن بلوکهای بایت استفاده کنید و برای شمارش کلمات از استخراج توکنها با >> یا اسکن کاراکترها بهره ببرید. نتیجهٔ شمارش و مدت زمان اجرا را در یک فایل خروجی با std::ofstream بنویسید؛ برای دقت بالاتر در محیطهای Systems Programming / HPC اجرای چندباره و میانگینگیری زمان پیشنهاد میشود.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای دقت بیشتر، از std::ifstream در حالت باینری و گاهی std::filesystem::file_size برای استخراج اندازه فایل استفاده کنید تا صحت شمارش بایتها تضمین شود. زمان اجرا را با std::chrono::steady_clock یا std::chrono::high_resolution_clock بگیرید و اختلاف دو زمان را به duration<double> و به میلیثانیه گزارش کنید. برای کارایی میتوانید از بلوکهای بزرگ ورودی یا با استفاده از istreambuf_iterator استفاده کنید، اما حافظه و کش را مد نظر داشته باشید. نتیجهٔ شمارش کلمات و زمان را در std::ofstream بنویسید و قالب سادهای مانند CSV به کارایی تحلیلهای بعدی کمک میکند. در محیطهای HPC/Systems Programming اجرای چندباره و میانگینگیری زمان میتواند پایداری و دقت را افزایش دهد.
گزارش