به نام آن که تن رانور جان داد خرد را سوی دانایی عنان داد
:در فصل جدید آموزش هایمان به مبحث آرایه ها میرسیم . مبحث جذاب ارایه ها 


ارایه ها انواعی از دادهها هستند که میتوانند دادههایی را بصورت دستهجمعی و منحصربه فرد ذخیره کنند.
ارایه ها را صورت زیر تعریف میکنیم :
type array_name[size] ;در قسمت type نوع دادهای خود را می نویسیم (int , float , …)برای مثال اگر بخواهیم در یک کلاس ۲۰ نفری ، نمره ۲۰ نفر را وارد کنیم کار غیر عاقلانه ای در اینجا میتوانیم انجام دهیم این است که ۲۰ متغیر تعریف کنیم ! اما کار بهتر و منطقیتر این است که ما یک ارایه تعریف کنیم و تنها با index (شماره هر خانه) به متغیر مورد نظر دسترسی پیدا کنیم 
مثال ۱ – برنامهای بنویسید که نمره ۱۰ نفر را ذخیره کند .
این مثال را به شکلهای متفاوت میتوان حل کرد که چندین نوع انرا بررسی میکنیم .
۱.۱ – نوع اول : در این نوع ما فقط میتوانیم نمرات را خودمان به شکل دیکتاتوری بنویسیم
.
#include<stdio.h>int main(void)
{
float scores[10];
scores[0] = 13;
scores[1] = 14;
scores[2] = 18.25;
scores[3] = 2.5;
scores[4] = 13.75;
scores[5] = 17.75;
scores[6] = 11.5;
scores[7] = 20;
scores[8] = 7.75;
scores[9] = 0;
printf("This is Score of first man or woman :D> %.2fn",scores[4]);
}
۱.۲ – نوع دوم : با استفاده از توابع ورودی و خروجی با کاربر تعامل برقرار می کنیم.#include<stdio.h>int main(void)
{
float scores[10];
printf("Enter the 1.number : ");
scanf("%f",&scores[0]);
printf("Enter the 2.number : ");
scanf("%f",&scores[1]);
printf("Enter the 3.number : ");
scanf("%f",&scores[2]);
printf("Enter the 4.number : ");
scanf("%f",&scores[3]);
printf("Enter the 5.number : ");
scanf("%f",&scores[4]);
printf("Enter the 6.number : ");
scanf("%f",&scores[5]);
printf("Enter the 7.number : ");
scanf("%f",&scores[6]);
printf("Enter the 8.number : ");
scanf("%f",&scores[7]);
printf("Enter the 9.number : ");
scanf("%f",&scores[8]);
printf("Enter the 10.number : ");
scanf("%f",&scores[9]);
printf("This is list of your numbers :n%fn%fn%fn%fn%fn%fn%fn%fn%fn%fn",scores[0],scores[1],scores[2],scores[3],scores[4],scores[5],scores[6],scores[7],scores[8],scores[9]);
}
در این روش ما بسیار کد های تکراری و خستهکننده نوشتیم ! 
۱.۳ – نوع سوم : با استفاده از حلقه ی for براحتی با کاربر تعامل برقرار میکنیم و تعداد کد هایمان خیلی خیلی کم میشود :
#include<stdio.h>int main(void)
{
float scores[10];
for(int i = 0;i < 10 ; i++)
{
printf("No.%d Enter your numbers> ",i);
scanf("%f",&scores[i]);
}
}
با یک حلقه for براحتی میتوانیم به تمامی اعضای ارایه دسترسی پیدا کنیم .نکته : ایندکس ارایه ها هم از ۰ شروع میشود تا n-1 تعداد متغیر . در مثال قبل که ده نمره را دریافت کردیم خانه اول ارایه ها ۰ و خانه آخر ۹ است .
مثال۲ (پیچیدهتر) : برنامهای بنویسید که کاربر بتواند ۵ عددصحیح را وارد کند و آن اعداد را به ضورت معکوس وارد کند.
#include<stdio.h>int main(void)
{
int number[5] ;
printf("Enter 5 numbers > n");
for(int i = 0; i <= 4 ; i++ )
{
scanf("%d", &number[i]);
}
printf("This inverse of your numbers > n");
for(int j = 4 ; j >= 0 ; j--)
{
printf("%d ",number[j]);
}
printf("n");
}
انواع شیوههای تعریف ارایه :۱ – در این شیوه تنها سایز ارایه را مشخص میکنیم که چقدر ورودی دریافت کند :
int number[5] ;۲ – در این شیوه خانههای حافظه ای را هم مقدار دهی اولیه میکنیم :int number[5] = {1,2,3,4,5} ;۳ – در این شیوه سایز خانههای حافظه ای مشخص نیست :int number[] ;۴ – در این شیوه میتوانیم سایزی مشخص نکنیم و به تعداد نیازمان مقدار اولیه در ارایه قرار دهیم:int number = {1,2,3,4,54,5,6,6,34,34,34,213,324,453,546,546};
یاد گرفت 
بخش بعدی آموزشها : ارایه های دو بعدی و چند بعدی
این جلسه را به عنوان مقدمات در نظر بگیرید بعد از آنکه ارایه های دو بعدی و چند بعدی هم گفته شد یک جلسه به طور مفصل مثال حل میکنیم .
شاد و سربلند باشید
برچسب:
نویسنده: استخدام کار