آرایه

از ویکی جامع پردیس دانشگاهی دانشگاه قم
نسخهٔ تاریخ ‏۲۲ آوریل ۲۰۱۵، ساعت ۲۲:۰۹ توسط Zsajjadi (بحث | مشارکت‌ها)

(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به: ناوبری، جستجو
برنامه نویسی پیشرفته
مقاله بعدی:رشته
مقاله قبلی:درس:برنامه نویسی پیشرفته


آرایه ها:

تعریف آرایه: آرایه اسمی برای چند متغیر هم نوع می باشد یا به عبارت دیگر آرایه از چندین کمیت درست شده است که همگی دارای یک نام می باشد. هر یک از این کمیت ها را یک عنصر می گویند برای دسترسی به عناصر آرایه باید اسم آرایه و شماره اندیس آرایه را ذکر کنیم.

نحوه تعریف آرایه:

[تعداد عناصر آرایه] <اسم آرایه> <نوع آرایه >

اسم آرایه از قوانین نام گذاری متغیرها تبعیت می کند. عناصر آرایه (بعد آرایه) باید یک ثابت باشد یا یک عدد صحیح مثبت بزرگتر از صفر.

نوع آرایه شامل int, float, double, char می باشد.

int a [5];

char str[15];

اندیس آرایه از عدد صفر شروع می شود.


رشته ها آرایه هایی از کاراکترها می باشند.

مثال: برنامه ای بنویسید که 10 عدد را از ورودی خوانده و آنها را درون یک آرایه ریخته و ماکزیمم و محل قرار گرفتن آن را چاپ کند.

#include <iostream>
#include <conio.h>
void main(void)
 {
  int a[10],i,max,t;
  for(i=0;i<10;i++)
   cin>>a[i];
  max=a[0];
  t=0;
  for(i=1;i<10;i++)
   if(max<a[i])
    {
     max=a[i];
     t=i;
    }
  cout<<"max="<<max<<"location="<<t;
  getch();
 }


نکته
اسم آرایه به آدرس اولین عنصر آرایه اشاره می کند.


نحوه تعریف آرایه های n بعدی:

[بعد دوم آرایه]   [بعد اول آرایه]   <اسم آرایه>   <نوع آرایه> ....

1- تعریف یک آرایه دو بعدی از نوع صحیح

int a[2][5]; // 2=سطر 5=ستون

2- تعریف یک آرایه سع بعدی از نوع صحیح

int k[2][3][6];

روش های مقداردهی اولیه به آرایه یک بعدی:

1- روش اول:

int a[5]={6,4,5,7,3};


2- روش دوم:

int a[5]={6,4,5};


در این روش 3 خانه اول مقداردهی شده و بقیه خانه ها صفر می شود.

3- روش سوم:

int a[5]={0};


در این روش تمام خانه ها صفر می شوند.

4- روش چهارم:

int a[]={6,4,5,7,3};

در این روش کامپایلر تعداد عناصر را می شمارد و عدد مناسب را بجای بعد اول قرار می دهد.

روش های مقداردهی اولیه به آرایه دو بعدی:

1- روش اول:

int a[2][3]={{3,1,2},{2,1,4}}; // {3,1,2} سطر دوم {2,1,4} سطر اول


2- سطر دوم:

int a[2][3]={1,3};


3- روش سوم: در هنگام مقدار دهی اولیه به آرایه ها ما فقط می توانیم بعد اول را ننویسیم.

int a[][3]={{3,1,2},{2,1,5}};

4- روش چهارم:

int a[2][3]={0};

در این روش تمامی عناصر آرایه صفر می شوند.

روش مقداردهی به آرایه سه بعدی:

int a[2][3][4]={{{1,2,3,1},{2,3,5,7},{5,6,9,2}},{{2,1,0,7},{1,2,9,4},{5,0,0,1}}}

آرایه ها و نحوه استفاده از آنها در فراخوانی توابع:

بین اسم آرایه و اشاره گرها ارتباط تنگاتنگی وجود دارد. آرایه های بصورت روش فراخوانی توسط ارجاع به توابع ارسال می شوند. برای استفاده آرایه ها در فراخوانی توابع، در توابع فراخوانی کننده فقط اسم آرایه به عنوان آرگومان نوشته می شود. در تعریف توابع پارامترهای ورودی از نوع آرایه می توان به یکی از 3 روش زیر باشند.

1- به عنوان اشاره گر

int *k

2- آرایه ای با طول ثابت

int k[10]

3- آرایه های با طول نامشخص

int k[]

نمونه تعریف و ارسال آرایه:

void main(void)

{

int a[10];

sort(a);

}

void sort( یکی از سه روش بالا )

{

}