یک برنامهٔ C بنویسید که اعداد صحیح بزرگ را از آرگومان‌های خط فرمان با استفاده از atol بخواند و مجموع، میانگین و انحراف معیار نمونهٔ آن‌ها را محاسبه و چاپ کند.

20.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:59

0.0

در این برنامه از stdlib.h برای استفاده از تابع atol جهت تبدیل argv به long استفاده کنید و برای محاسبات عددی از نوع double بهره ببرید؛ ابتدا با یک حلقه مجموع را محاسبه کرده و سپس میانگین را به‌دست آورید، در حلقهٔ دوم و یا با دو پاس محاسبه‌ یک‌پاسی (جمع مربعات تفاوت‌ها) و استفاده از sqrt از math.h انحراف معیار نمونه را محاسبه کنید. نکات: ورودی‌ها را با argc بررسی کنید، atol برای مقادیر بزرگ صحیح مناسب است اما در صورت نیاز به دقت شناور تبدیل به double کنید، برای کامپایل ممکن است به -lm نیاز داشته باشید و برای بهبود کارایی در مسائل بزرگ می‌توان از روش‌های تجمع مؤثر یا موازی‌سازی (مثلاً OpenMP) استفاده کرد.

توسط پژوهشگر در 198 روز قبل ساعت 02:59
دسته بندی ها: C for beginner
sara در 198 روز قبل ساعت 03:00

برای خواندن آرگومان‌ها از atoi/atol ابتدا stdlib.h و برای محاسبات اعشاری و sqrt از math.h شامل کنید و هنگام کامپایل از -lm استفاده کنید. مقادیر خوانده‌شده را برای محاسبات به double تبدیل کنید و حتما argc را بررسی کنید تا حداقل یک عدد وجود داشته باشد. برای دقت عددی و پایداری بهتر می‌توانید به‌جای روش دو‌پاس ساده از الگوریتم یک‌پاسی پایدار (Welford) برای محاسبه واریانس نمونه استفاده کنید و در محاسبه انحراف معیار از تقسیم بر (n-1) بهره ببرید. اگر مقادیر صحیح خیلی بزرگ‌اند به overflow نوع long توجه کنید و در صورت نیاز از strtoll، __int128 یا کتابخانه‌هایی مثل GMP استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری