#74☑️ آرایه ها
در آموزش های گذشته نحوه ذخیره و بازیابی اطلاعات و نمایش آنها با استفاده از متغیر ها را دیدیم , داده ها را در درون متغیرها و یا ثوابت ذخیره می کردیم اما گاهی لازم است تعدادی از داده ها را بگونه ای ذخیره نماییم که متعلق به یک مجموعه بوده و دسترسی به آنها آسان باشد یا اگر حجم دادهها زیاد باشدآن وقت است که میتوان دست به دامن آرایه ها شد.
مثلاً اگر شما بخواهید ۱۰۰ نوع داده ی مختلف برای مثال داده ی عددی را از ورودی بگیرید درصورت نبود آرایه ها میبایست صد متغیر تعریف کرد و صد بار هر عدد را گرفت ولی با استفاده از آرایه ها این کار هم آسانتر میشود و هم سرعت بیشتری برای مقایسه هست یا مثلا یک کنکوری رو در نظر بگیرین که 1000 شرکت کننده داره اگه بخوایم رتبه این 1000 نفر رو ذخیره کنیم بطبع تعریف 1000 متغیر از نوع int کار عاقلانه ای نیست پس میام یه آرایه از نوع int تعریف میکنیم که میانگین هر شخص رو توی عناصر(خونه هاش) قرار میدیم.
آرایه مجموعه ای از عناصر هم نوع است یعنی اگر آرایه رو از نوع int تعریف کردیم همه عناصرش از نوع int می باشد. در برنامه نویسی C++ برای تعریف آرایه باید نوع عناصر آنرا مشخص کنیم و آرایه باید حتما دارای نام باشد که از قانون نامگذاری برای متغیرها تبعیت می کند و بعد از نام از [ ] استفاده می کنیم که درون آن می توان از یک عدد صحیح برای تعیین طول آرایه استفاده نمود.
@Learncpp
#75☑️ آرایه ها
برای دسترسی به عناصر آرایه از اندیس استفاده می کنیم که اولین اندیس هر آرایه ای از عدد صفر شروع می شود .
int arr[10];کد برنامه نویسی ++C بالا آرایه ای را با نام arr تعریف می کند که عناصر آن از نوع عدد صحیح هستند و تعداد عناصر آرایه (طول) برابر با 10 است .
🔺توجه : تعداد عناصر آرایه بالا 10 است ولی اندیس عناصر آن از صفر شروع شده و به 9 ختم می شود و نباید تعداد را با اندیس اشتباه گرفت .
عناصر آرایه پشت سر هم در خانه های حافظه ذخیره می شوند و هر عنصر (خانه) از آرایه به اندازه طول نوع آرایه فضا اشغال می کند. در آرایه بالا چون نوع آرایه تعریف شده int است پس هر عنصر مقدار 4 بایت و چون طول آن 10 است در نهایت 40 بایت پشت سر هم از حافظه را اشغال می کند .
@Learncpp
#76☑️ آرایه ها
🔹آرایه های یک بعدی :
در آرایه های یک بعد با یک اندیس میتوان به هر عنصر از آن دست یافت و آرایه های یک بعدی به صورت زیر تعریف میشوند:
type ArrayName [ArraySize] ;
نوع (type) یکی از انواع دادهای قابل استفاده در سی پلاس پلاس است. MyArray نام آرایه است که از قوانین نامگذاری متغیر ها پیروی میکند ArraySize اندازه طول آرایه است که با یک عدد صحیح مشخص میشود.
مثلاً آرایه زیر یک آرایه به اسم integers است با طول ۵
int integers[5];برای مقدار دهی و دسترسی به عنصر هر آرایه از روشهای زیر میتوان استفاده کرد:
int integers[5]={1,2,3,4,5};🔺به این نکته توجه داشته باشین که آرایه ای که طول آن 5 است اندیس های آن از 0 تا 4 میباشد یعنی اندیس های آرایه از صفر شروع میشوند.
برای دسترسی به عناصر از روش زیر پیروی میکنیم:
integers[0]integers[1]و الی آخر..
🔺نکته : معمولاً برای دسترسی یا پیمایش خانههای آرایه های یک بعدی یا لیست ها می بایست از یک حلقه for استفاده نمود.
@Learncpp
#77☑️ آرایه ها
مثال) برنامهای بنوسید که ابتدا یک آرایه ۱۰ عنصری A تعریف نماید,سپس توان دوم اعداد ۰ تا ۹ را در آرایه قرار داده و آن هارا به خروجی ببرد.
#include <iostream>
using namespace std;
int main ()
{int i;
int a[10];
for(i=0;i<10;i++)
a[i]=i*i ;
for(i=0;i<10;i++)
cout<<"a["<<i<<"] = "<<a[i]<<endl;
return 0;
}
@Learncpp
#78☑️ آرایه ها
مثال) برنامهای بنوسید که n تعداد دانشجو را از ورودی خوانده (حداکثر۵۰) سپس نمرات ریاضی n دانشجو را از ورودی خوانده و در یک آرایه ذخیره نماید . سپس عناصر آرایه را از آخر به اول چاپ کند.
#include <iostream>
using namespace std;
int main ()
{ int i,n;
int a[50];
cout<<"Enter Number Of Students : ";
cin>>n;
for(i=0;i<n;i++)
{cout<<"Enter Student "<<i+1<<"Grade : ";
cin>>a[i];
}
cout<<"\n---Grade of students from end to begin ---\n";
for(i=n-1;i>=0;i--)
{cout<<"Grade of student"<<i+1<<"="<<a[i]<<endl;
}
return 0;
}
در این برنامه پس از تعریف آرایه با استفاده از یک حلقه for نمرات را گرفتیم سپس برای چاپ کردن عناصر از آخر به اول نیاز به حلقه for دوم داشتیم تا از n-1 تا 0 عدد هارا بخواند.
@Learncpp
#79☑️ آرایه ها
مثال) برنامه ای به زبان C++ بنویسید که تعداد 5 عدد را از کاربر دریافت کرده و حاصلجمع آنها را در خروجی نمایش دهد .
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{int num[5];
int sum=0,count;
for(count=0;count<5;count++)
{cout<<"Enter number "<<count+1<<" :";
cin>>num[count];
sum += num[count];
}
cout<<"\nSum of numbers is "<<sum;
return 0;
}
در برنامه بالا آرایه ای بنام num با طول 5 تعریف شده که از یک حلقه تکرار for برای مقدار دادن به عناصر آن استفاده می کنیم و در درون حلقه، مقدار هر عنصر از آرایه را با متغیر sum که دارای مقدار اولیه صفر است جمع می کنیم. دقت کنید که حلقه for باید حتما از صفر شروع شود چون اندیس اولین عنصر آرایه صفر است. در نهایت و با خروج از حلقه حاصلجمع عناصر آرایه که در متغیر sum ریخته شده است را چاپ می کنیم.
@Learncpp
#80☑️ آرایه ها
🔹آرایه ها به توابع :
آرایه ها را نیز همانند متغیر های معمولی میتوان به توابع ارسال نمود.
به صورت پیشفرض آرایه ها شبیه متغیر های ارجاع با آدرس به توابع ارسال میشوند.
برای ارسال يک آرايه به عنوان آرگومان به يک تابع ، کافيست نام آرايه را بدون علامت براکت ([]) به کار ببريد . به عنوان مثال اگر آرايه ای با نام x به صورت زير تعريف شده باشد :
int x[24];برای ارسال آن به تابع modifyArray کافيست تابع را به صورت زير:
modifyArray(x,24);فراخوانی کنيد . دستور فوق آرايه و طول آن را به تابع modifyArray ارسال می کند
@Learncpp
#81☑️ آرایه ها
مثال) تابعی بنوسید که آرایه a و عدد n که طول آرایه است را بگیرد و مجموع عناصر آرایه را به عنوان خروجی بفرستد.
#include <iostream>
using namespace std;
//*******
int sum(int a[],int n)
{int s=0;
for (int i=0;i<n;i++)
s += a[i];
return s;
}
/*******
int main ()
{ int a [4]={11,33,55,77};int size=4;
cout<<sum(a,size)<<endl;
return 0;
}
@Learncpp