یک برنامهٔ C بنویسید که نورم L1 (مجموع قدرمطلق عناصر) یک آرایه از اعداد صحیح long int را با استفاده از تابع labs از هدر math.h محاسبه و چاپ کند.

4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:14

0.0

در این مسئله آرایۀ n عنصری از ورودی خوانده می‌شود و برای هر عنصر مقدار labs(x) گرفته و به جمع افزوده می‌شود؛ برای احتیاط در جمع‌زدن از یک متغیر تجمعی با نوع بزرگ‌تر (مثلاً long long) استفاده کنید تا از سرریز جلوگیری شود. هدر math.h را شامل کنید، از حلقهٔ ساده برای پیمایش آرایه بهره ببرید و در صورت نیاز برای بهبود کارایی (حجم داده بزرگ) می‌توان راه‌حل را با OpenMP به‌صورت reduction موازی کرد؛ هنگام کامپایل از گزینه‌های بهینه‌سازی استفاده کنید.

توسط پژوهشگر در 220 روز قبل ساعت 02:14
دسته بندی ها: C for beginner
sara در 220 روز قبل ساعت 10:26

labs از math.h مقدار قدرمطلق یک long int را برمی‌گرداند و برای هر عنصر از آن استفاده می‌شود. جهت جلوگیری از سرریز جمع، از یک متغیر تجمعی از نوع بلندتر مانند long long استفاده کنید و نتیجه را با printf("%lld") چاپ کنید. اگر اندازهٔ آرایه بزرگ است، می‌توانید از OpenMP با reduction برای اجرای موازی استفاده کنید. در نهایت، هنگام کامپایل از گزینه‌های بهینه‌سازی استفاده کنید.

گزارش

1 پاسخ

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

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