یک برنامهٔ C بنویسید که اعداد صحیح بزرگ را از آرگومانهای خط فرمان با استفاده از atol بخواند و مجموع، میانگین و انحراف معیار نمونهٔ آنها را محاسبه و چاپ کند.
20.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:59 0.0
در این برنامه از stdlib.h برای استفاده از تابع atol جهت تبدیل argv به long استفاده کنید و برای محاسبات عددی از نوع double بهره ببرید؛ ابتدا با یک حلقه مجموع را محاسبه کرده و سپس میانگین را بهدست آورید، در حلقهٔ دوم و یا با دو پاس محاسبه یکپاسی (جمع مربعات تفاوتها) و استفاده از sqrt از math.h انحراف معیار نمونه را محاسبه کنید. نکات: ورودیها را با argc بررسی کنید، atol برای مقادیر بزرگ صحیح مناسب است اما در صورت نیاز به دقت شناور تبدیل به double کنید، برای کامپایل ممکن است به -lm نیاز داشته باشید و برای بهبود کارایی در مسائل بزرگ میتوان از روشهای تجمع مؤثر یا موازیسازی (مثلاً OpenMP) استفاده کرد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای خواندن آرگومانها از atoi/atol ابتدا stdlib.h و برای محاسبات اعشاری و sqrt از math.h شامل کنید و هنگام کامپایل از -lm استفاده کنید. مقادیر خواندهشده را برای محاسبات به double تبدیل کنید و حتما argc را بررسی کنید تا حداقل یک عدد وجود داشته باشد. برای دقت عددی و پایداری بهتر میتوانید بهجای روش دوپاس ساده از الگوریتم یکپاسی پایدار (Welford) برای محاسبه واریانس نمونه استفاده کنید و در محاسبه انحراف معیار از تقسیم بر (n-1) بهره ببرید. اگر مقادیر صحیح خیلی بزرگاند به overflow نوع long توجه کنید و در صورت نیاز از strtoll، __int128 یا کتابخانههایی مثل GMP استفاده کنید.
گزارش