آرایهآرایه ها

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

آرایه

آرایه های یک بعدی:

آرایـه دارایی تعدادی عنصر پشت سر هم است که برای دستیابی به هر کدام از این عناصر از اندیس استفاده میکنیم. اندیس آرایـه در C++ از صفر شروع میشود. برای استفاده از آرایـه ها ابتدا باید آرایـه مورد نظر را در حافظه تعریف کنیم. در مثال زیر آرایه ای با ۶ عنصر تعریف کرده ایم:

int Array[6];

همانطور که مشخص است، این آرایـه که نام آن را Array گذاشته ایم از نوع int است یعنی میتواند ۶ عنصر از نوع int را در خود ذخیره کند.

اما برای دسترسی به عناصر این آرایـه باید از اندیس آن عنصر مورد نظر استفاده کنیم.

عنصر اول : Array[0]                                 عنصر دوم : Array[1]                     عنصر سوم : Array[2]

عنصر چهارم : Array[3]                              عنصر پنجم: Array[4]                    عنصر ششم : Array [5]

مقداردهی به آرایه:

برای مقدار دادن به یک آرایـه میتوانیم به صورت یکجا به تمامی عناصر آن مقدار دهی کنیم یا به صورت تک تک:

int Array[6] = {1, 5, -3, 10, 22, 4}

یا

Array[0] = 1;
Array[1] = 5;
Array[2] = -3;

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

#include <iostream.h&>
int main()
{
    int num[6];
    int sum = 0;

    for(int i = 0 ; i < 6 ; i++)
    {
        cout << "Enter number " i+1 " :"; cin >> num[i];
        sum += num[i];
    }
    cout << "\n Sum of numbers is " << sum;
    return 0;
}

خروجی:

Enter number 1 : 1
Enter number 2 : 7
Enter number 3 : 9
Enter number 4 : 0
Enter number 5 : 18
Enter number 6 : 1
Sum of numbers is 36

در مثال بالا آرایـه ای بنام num با طول ۵ تعریف شده که از یک حلقه تکرار for برای مقدار دادن به عناصر آن استفاده می کنیم و در درون حلقه، مقدار هر عنصر از آرایه را با متغیر sum که دارای مقدار اولیه صفر است جمع می کنیم. دقت کنید که حلقه for باید حتما از صفر شروع شود چون اندیس اولین عنصر آرایه صفر است. در نهایت و با خروج از حلقه حاصلجمع عناصر آرایه که در متغیر sum ریخته شده است را چاپ می کنیم .

آرایه چند بعدی:

در آرایـه های تک بعدی، فقط یک سطر داشتیم و تعدادی ستون، اما در آرایـه های چند بعدی تعدادی سطر و تعدادی ستون داریم، درست همانند یک ماتریس.

تعریف کردن یک آرایه با ۳ سطر و ۲ ستون:

Char x[3][2];

زمانی که آرایـه ای از نوع Char تعریف میشود، هر عنصر میتواند یک کاراکتر (حرف) را در خود ذخیره کند. بنابراین اگر بخواهیم برای مثال یک نام را در برنامه خود ذخیره کنیم میتوانیم تک تک حروف آن را در یک آرایـه ذخیره کنیم بنابراین آن آرایـه یک نام را در خود ذخیره کرده است.

مقداردهی به آرایه چند بعدی:

char x[3][4] = {{‘t’, ‘b’, ‘p’, ‘z’},     // Row 1
                       {‘m’, ‘c’, ‘c’, ‘q’},   // Row 2
                       {‘a’, ‘z’, ‘d’, ‘g’}};  // Row 3

یا
x[0][0] = t;
x[1][3] = q;
x[2][1] = z;
x[2][0] = a
;x[2][3] = g;

  • توجه داشته باشید که برای مقدار دهی آرایه های یک بعدی، از یک حلقه استفاده میکردیم، اما در آرایـه دو بعدی برای دسترسی مقادیر توسط حلقه، از دو حلقه تو در تو استفاده میکنیم. حلقه بیرونی برای سطرها و حلقه داخلی برای ستون ها.

مثال: برنامه ای بنویسید که یک آرایـه ۴×۴ تعریف کند و آن را با اعدادی که از کاربر میگیرد پر کند سپس جمع عناصر قطر اصلی را محاسبه و در خروجی نمایش دهد.

int main()
{
	// تعریف آرایـه 
	int A[4][4];

	// دریافت اعداد از کاربر
	for (int i = 0; i < 4; i++)
		for (int j = 0; j < 4; j++) cin >> A[i][j]; 

	//جمع عناصر قطر اصلی
	int sum = 0;
	for (int i = 0; i < 4; i++)
		for (int j = 0; j < 4; j++)
			if (i == j) // شرط قطر اصلی بودن عنصر
				sum += A[i][j];

	//نمایش مجموع در خروجی
	cout << sum;

    return 0;
}

یک آرایه دو بعدی

انجام پروژه های دانشجویی پذیرفته میشود
کانال تلگرام ما: http://t.me/cproject

دیگر مطالب:
آموزش الگوریتم نویسی

نحوه کار با آرایه ها در C++
Tagged on:             

2 thoughts on “نحوه کار با آرایه ها در C++

  • 12/03/2018 at 19:49
    Permalink

    سلام خسته نباشید
    چطور باید یک آرایه تعریف کنیم ولی تعداد index هاش معلوم نباشه و به تعداد اعدادی که از کاربر میگیره index داشته باشه؟

    Reply
    • 12/04/2018 at 20:28
      Permalink

      متاسفانه زبان C++ همچین امکانی رو نداره و باید از اشاره گرها استفاده کنید:

      	int N;
      	cin >> N;
      	int *arr= new int[N];
      	for (int i = 0;i < N;i++)
      	{
      		cin >> arr[i];
      	}
      	for (int i = 0;i < N;i++)
      	{
      		cout << arr[i];
      	}
      
      Reply

دیدگاهتان را بنویسید

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

سیزده + پنج =