6-آرایه های یک بعدی
فرض کنید بخواهیم نام و سایر مشخصات یک دانش آموز را در حافظه ی کامپیوتر و در متغیر مناسب ذخیره کنیم. برای این کار از یک یا چند متغیر برای ذخیره نواع مختلف عدد و نام( از نوع کاراکتر) استفاده میکنیم.
حال اگر بخواهیم نام چند دانش آموز را به همراه شماره های دانش آموزی و ... در حافظه ذخیره کنیم چکار کنیم؟
عاقلانه به نظر نمیرسد که از چندین متغیر با نامهای مختلف برای ذخیره سازی حجم زیادی از اطلاعات دانش آموزان استفاده کنیم. بنابراین میتوانیم نام ها را جداگانه و شماره ها را جداگانه در نوع دیگری از متغیر به نام آرایه ذخیره کنیم.
آرایه به رشتهای از متغیرها گفته میشود که یک نام دارند و تنها با اندیسهای متفاوت از هم شناسایی میشوند.
در هر خانه ی آرایه فقط یک عدد یا یک کاراکتر میتوانیم ذخیره کنیم.
تعریف کلی آرایه به صورت زیر است:
int a[100];
float b[20];
char c[15];
در تعاریف بالا آرایه ی a از نوع عدد صحیح و به طول 100 خانه می باشد. آرایه های b و c هم به ترتیب از نوع اعداد ممیزی و کاراکتری و با تعداد 20 و 15 خانه می باشند.
چند نکته :
1- توجه کنید که در تعریف آرایه داخل علامت [] یا براکت ، تعداد خانه های آرایه و یا طول آرایه را باید قرار دهیم!
2- شماره ی خانه های آرایه از 0 شروع و تا n-1 ( که n طول آرایه می باشد) ادامه پیدا میکند.
3- شماره ی آخرین خانه ی آرایه n-1 است نه n
4- برای اختصاص یک مقدار به یک خانه از آرایه به صورت زیر عمل میکنیم:
a[10]=14;
b[3]=7.5;
c[5]='$';
5- میتوانیم آرایه را به صورت زیر مقدار دهی اولیه کنیم. فرض کنید میخواهیم همهی خانههای آرایه دارای مقدار صفر بشوند:
int a[10]={0};
برای پر کردن همه ی خانه های آرایه دو راه داریم:
راه اول به صورت بالا میباشد که باید همهی مقدیر را یکی یکی بدانیم و به ترتیب در آکولاد قرار دهیم:
int a[10]={1,2,3,0,0,5,4,3,4,2};
راه دوم این است که در حلقه ای به طول آرایه مقدار خانههای آرایه را تک تک از ورودی بگیریم :
int main()
{
int a[10];
for(int i=0;i<10;i++)
{
cin>>a[i];
}
getch();
}
مثال1- برنامه ای بنویسید که 10 عدد را از ورودی گرفته و در آرایه ای به طول 10 ذخیره کند:
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { char ch[5]; for(int i=0;i<=4;i++) { cin>>ch[i]; } system("PAUSE"); return EXIT_SUCCESS; }
برنامه ی بالا آرایه ی ch را از نوع کاراکتری و به طول 5 می سازد . در حلقه ی for یکی یکی از ورودی کاراکتر میگیرد و در خانه های آرایه میریزد. دقت کنید که حلقه ی for از شماره ی 0 شروع شده و تا شماره ی 4 ادامه پیدا میکند که در کل میشود 5 خانه.
مثال 2- برنامه ی مثال یک را به گونه ای تکمیل کنید که آرایه را پس از دریافت نمایش هم بدهد:
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { char ch[5]; for(int i=0;i<=4;i++) { cin>>ch[i]; } for(int i=0;i<=4;i++) { cout<<ch[i]; } cout<<endl; system("PAUSE"); return EXIT_SUCCESS; }
مثال 3- برنامه ی مثال یک را به گونه ای تکمیل کنید که آرایه را پس از دریافت در یک آرایه ی دیگر کپی کند و آرایه ی دوم را نمایش دهد:
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { char ch[5],cpy[5]; for(int i=0;i<=4;i++) { cin>>ch[i]; } for(int i=0;i<=4;i++) { cpy[i]=ch[i]; } for(int i=0;i<=4;i++) { cout<<cpy[i]; } cout<<endl; system("PAUSE"); return EXIT_SUCCESS; }
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { char ch[5],cpy[5]; for(int i=0;i<=4;i++) { cin>>ch[i]; } for(int i=0;i<=4;i++) { cpy[4-i]=ch[i]; } for(int i=0;i<=4;i++) { cout<<cpy[i]; } cout<<endl; system("PAUSE"); return EXIT_SUCCESS; }فایل برنامه
برای تمرین بیشتر به بخش بعدی مراجعه کنید ...