تدریس خصوصی آنلاین و از راه دور برنامه نویسی زبان C(سی)...[کــــــلیک کنید]
جلسه پنجم | آرایه ها و رشته ها در زبان برنامه نویسی C
تعریفی از آرایه ها :
در فصل های قبل یاد گرفتید که چگونه متغییر های مختلف را تعریف کنید و داده ها را از کاربر دریافت کنید, اما اگر تعداد داده های ورودی از مقداری بیشتر شوند, به مثال 100 ورودی, تعریف متغییر و گرفتن آن توسط روش قبلی امکان پزیر ناست و روشی بسیار سخت است, پس از آرایه ها استفاده میکنیم که در کل میتوان آرایه ها را به ماتریس تشبیه کرد.
آرایه های یک بعدی :
در آرایه های یک بعدی که نام دیگر آن یک لیست است, مجموعی از اطلاعات را درون خانه هایه مشخص شده ای از لیست یا ارایه یک متغییر دیگر قرار میدهیم. و ارایه ها به طور کلی به شکل زیر تعریف میشوند :
نام آرایه نوع آرایه [طول آرایه] ; |
به طور مثال اگر بخواهیم آرایه ای یک بعدی تعریف کنیم که 5 آرگومان ظرفیت داشته باشد (طول آرایه = 5 )
و اسم آن X باشد, به صورت زیر مینویسیم .
int x[5]; |
در آرایه بالا, خوانه های حافظه این متغییر یا لیست به صورت زیر بخشبندی میشوند :
x[0] x[1] x[2] x[3] x[4]
در شکل بالا شماره خانه های x از عدد 0 شروع میشوند, زیرا در کامپیوتر, اعداد به جای 1, از عدد 0 شروع میشوند.
مثال گرفتن نمره 5 دانش اموز و حساب کردن معدل آنها :
#include <stdio.h> int main(){ int x[10]; ave = some / 10; getch(); |
خروجی :
10 20 15 16 17 18 19 14 11 6 the ave is : 14.000000 |
تحلیل :
در مثال بالا توسط یک حلقه, که از عدد 0 تا 9 رو درون متغییر i میریزد میسازیم و هر بار مقدار خانه i لیست x را دریافت کرده و آن را به متغییر some اضافه میکنیم, سپس در اخر متغییر some که مجموع 10 عدد است را گرفته و تقسیم بر 10 آن را درون متغییر ave میریزیم و سپس آن را نشان میدهیم.
آرایه های یک بعدی به عنوان آرگومان تابع :
برای فرستادن یک آرایه به عنوان ارگومان به یک تابع باید در تعریف متغییر در تابع به صورت قبل عمل کنیم ولی فقط جلوی آن علامت [] را بزاریم, اینگونه هر آرایه یک بعدی ای این تابع ما میتواند دریاف کند.
سفارش انجام پروژه برنامه نویسی زبان C(سی) ...[کـــلیک کنید]
مثال عدد زوج یا فرد با آرایه به عنوان آرگومان تابع :
#include <stdio.h> void zoj(int x[], int len){ int main(){ int x[5]; zoj(x, len); getch(); |
خروجی :
13
|
تحلیل :
در برنامه بالا در مرحله اول 5 عدد را از کاربر دریافت کرده و آن را در لیست متغییر x میریزیم و سپس آرایه را و متغیر len که تعداد اعداد است را به تابع zoj میدهیم و در این تابع اگر عدد ما زوج بود, آن را در خروجی به عنوان عدد زوج نشان میدهیم و اگر عدد ما فرد بود, آن را به عنوان عدد فرد نشان میدهیم.
جستجوی ترتیبی در آرایه :
در این روش جستوجو, برنامه ما 2 آرایه را به یک تابع میفرستد و اعداد مشترک این دو آرایه را در خروجی برای ما نشان میدهد :
#include <stdio.h> void esh(int x[], int lenx, int y[], int leny){ int main(){ int x[5]; esh(x,lenx,y,leny); getch(); |
خروجی :
1 |
تحلیل :
در برنامه بالا 2 لیست y و x را از کاربر دریافت کرده و خود این لیست ها و مقدار تعداد آرگومان این لیست ها را به تابع ما میدهد و درآن به کمک حلقه for تو در تو تمام مقادیر x را با تمامی مقادیر y مقایسه میکند و در صورت برابری , آنها را نشان میدهد.
آرایه های چند بعدی :
در درس ها و فواصل قبل در باره آرایه های یک بعدی یا همان لیست ها آموختیم, اما الان میخواهیم درباره آرایه های دو بعدی صحبت کنیم. آرایه های دو بعدی مجموعه ای از آرایه های یک بعدی یا همون لیست ها هستند که در کنار هم یک جدول را تشکیل میدهند.
آرایه های چند بعدی به صورت زیر تعریف میشوند :
نام آرایه نوع آرایه [تعداد سطر جدول] [تعداد سطون جدول] ; |
به عنوان مثال برای تعریف یک آرایه دوبعدی با 4 سطر و 5 سطون, از دستور زیر استفاده میکنیم :
int x[4][5]; |
مثال گرفتن 5 نمره 4 دانش آموز و چاپ میانگین هرکدام :
#include <stdio.h>
int main(){ int x[4][5]; for (int i=0; i<4; i++){ for (int i=0; i<4; i++){ for (int i=0; i<4; i++){ getch(); |
خروجی :
nomarat danesh amoz 1 :10 nomarat danesh amoz 2 :11 nomarat danesh amoz 3 :20 nomarat danesh amoz 4 :12 |
تحلیل :
در برنامه بالا, در مرحله اول, یک آرایه دوبعدی به اسم X تعریف کرده و تعداد سطر آن را 4 و تعداد سطون آن را 5 قرار دادیم ( تعداد سطر با تعداد سطون برابر است ), سپس تو متغییر معدل و جمع نمرات را به صورت یک لیست یا یک آرایه یک بعدی تعریف کردیم, توجه کنید چون چند معدل و مجموع نمرات وجود دارد نمیتوان مانند مثال های قبلی از متغییر های عادی استفاده کرد. سپس به کمک یک حلقه تو در تو مقدار هر سطون و سطر متغییر x را گرفته و مقدار سلول اول تا چهارم متغییر some را برابر با مجموع نمرات هر دانش آموز قرار دادیم. سپس به کمک تو حلقه دیگر معدل را حساب کرده و آنها را در خروجی نمایش دادیم.
جهت مشاهده ادامه جلسه پنجم | آرایه ها و رشته ها در زبان برنامه نویسی C اینجا کلیک کنید.
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690