آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – ارسال آرایه به تابع

گاهی اوقات ما می خواهیم عملیاتی را روی اندیس های آرایه انجام دهیم البته با فرستادن آن به تابع.
با مثالی ساده شروع می کنیم:

ارسال آرایه به تابع

می خواهیم آرایه ای (ماتریس ۳ در ۳) را به تابعی ارسال کنیم سپس اعضای روی قطر اصلی آنرا با هم ضرب کنیم:
نکته: اعضای روی قطر اصلی: اعضای روی قطر اصلی به رنگ زرد مشخص شده اند.
ghotr_asli
نکته: شرط نشان دادن اعضای روی قطر اصلی:i==j

توضیحات: ابتدا آرایه ای ۳ در ۳ ایجاد می کنیم و اعضای آنرا مقدار دهی می کنیم سپس تابعمان را ایجاد می کنیم.
شرط i==j را در تابع برقرار می سازیم سپس عددی که برابر حاصل ضرب اعضای روی قطر اصلی است (همان z در برنامه) را return می کنیم.
می رسیم به prototype و صدا زدن تابع: ابتدا prototype را در بالای تابع main می نویسیم

int اول نوع خروجی را نشان می دهد و چون خروجی یک عدد از نوع int است int را مینویسیم سپس نام تابع و در سپس در درون پرانتز ها باید نوع ورودی را مشخص کنیم و چون نوع ورودی یک آرایه ی ۳ در ۳ است و نوع آن هم int است به این صورت که در کد بالا می بینید آنرا می نویسیم.
میرسیم به صدا زدن تابع: دستور صدا زدن تابع را برای راحتتر کردن برنامه در cout می نویسیم به این صورت که ابتدا نام تابع سپس آرایه ای که باید وارد تابع شود را درون پرانتز های آن می نویسیم.

ارسال آرایه به تابع

تمرین: یک ماتریس ۳ در ۳ وارد تابع کنید و تابع بگوید که این ماتریس قطری است یا نه.
ماتریس قطری: ماتریسی است که اعدادی که روی قطری اصلی نیستند برابر صفر باشند. مهم نیست که اعضای روی قطر اصلی صفر باشند فقط باید اعضای که روی قطری اصلی نیستند صفر باشند.

توضیحات: یک آرایه ۳ در ۳ ایجاد می کنیم و آنرا به گونه ای مقدار دهی می کنیم که به طور پیش فرض طبق تعریفمان یک ماتریس قطری باشد.
شرط:
(i!=j && B[i][j]!=0)
اگر این شرط برقرار شود  ماتریس قطری نیست چون نشان می دهد اعضایی که روی قطر نیستند برابر صفر نیستند. ما نمی توانیم در دستورات این شرط که در for نوشته شده است یک cout بنویسیم برای نشان دادن قطری بودن یا نبودن ماتریس چون ممکن است ده ها بار شرط برقرار شود و همینطور ده ها بار cout اجرا شود.
ما در این حالت یک متغیر وضعیت ایجاد می کنیم به نام e که اگر e برابر ۱ باشد ماتریس قطری است واگرنه نیست.
همان گونه که در کد میبینید ما به این صورت برنامه را ایجاد کرده ایم:
در درون for این شرط را نوشته ایم که اگر شرط داخل if برقرار بود که در صورت قطری نبودن ماتریس است عدد e برابر صفر شود.
چون ما از تابع نمی خواهیم چیزی را return کند و فقط می خواهیم نشان دهیم که ماتریس قطری است یا نه ما نوع تابع را void می گذاریم.
اطلاعات بیشتر

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *