خوراک پی سی کدنویس

ورود کاربران

آمار سایت

اعضا : 56
محتوا : 67
پیوندها : 6
بازدیدهای محتوا : 18902

حاضرین در سایت

 39 مهمان حاضر

برای نمایش بهتر سایت، از مرورگر استاندارد فایرفاکس استفاده کنید! مرورگر اینترنت اکسپلورر متعلق به دهه گذشته است!

firefox icon

Valid XHTML 1.0 Transitional Valid CSS!

ساختار آرایه ها در C++

0 امتیاز

سطح: متوسط

آرایه های یک بعدی در C++

فرض کنید بخواهیم اطلاعات دانشجویان یک کلاس را دریافت کرده و پردازشهایی روی آنها انجام دهیم. اگر بخواهیم برای هر دانشجو تعدادی متغیر مثل name، id و score تعریف کنیم که اطلاعاتی شامل نام، شماره دانشجویی و نمره درسی آنها را در برداشته باشند، تعداد زیادی متغیر خواهیم داشت که کارهای مشابهی انجام می دهند. این کار باعث می شود که حجم کد زیاد شده و خوانایی برنامه از دست برود. در چنین مواردی از آرایه ها کمک می گیریم.
نحوه ی تعریف آرایه به صورت زیر است:

Data Type Array Name [array size];

مثال: برای معرفی یک آرایه از اعداد اعشاری با طول 5 می توانیم از دستور زیر استفاده کنیم:

double scores[5];

با این کار به میزان 5 عدد اعشاری از حافظه RAM تخصیص داده می شود که هر کدام 8 بایت فضا اشغال می کنند (چرا؟):

RAM ADDRESS: 0x008C2F00 – 0x008C2F27
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27
scores[0] scores[1] scores[2] scores[3] scores[4]

برای دستیابی به عناصر آرایه، از اندیس آنها استفاده می کنیم، مثلا scores[0] اولین عنصر و scores[3] چهارمین عنصر آرایه را نشان می دهد. برای اینکه عناصر آرایه را مقدار دهی اولیه کنیم به صورت زیر عمل می کنیم:

double scores[5] = {20, 12, 14.5, 16.25, 10.75};

اگر بخواهیم تمام عناصر را به 0 مقداردهی اولیه کنیم، می توانیم از فرمت مختصر زیر استفاده کنیم:

double scores[5] = {0}; //initialize all elements with zero

هنگامی که از مقداردهی اولیه استفاده می کنیم، می توانیم اندازه آرایه را تعیین نکنیم تا خود کامپایلر بر اساس تعداد مقادیر اولیه آن را تعیین کند:

double scores[] = {20, 12, 14.5, 16.25, 10.75};

آرایه های چند بعدی در C++

برای تعریف آرایه های چندبعدی کافیست به تعداد ابعاد، از براکت استفاده کنیم. برای مثال اگر بخواهیم یک ماتریس 2 در 4 معرفی کنیم به صورت زیر عمل می کنیم: (به نحوه ی مقدار دهی اولیه دقت کنید)

int matrix[2][4] = {
 {12, 13, 14, 15},
 {10, 8, 123, 95}
 };

همین طور اگر بخواهیم یک آرایه سه بعدی تعریف کنیم:


double matrixArray[2][3][2] = 
 {
 {{1.1, 2.25}, {45.5, 16  }, {1, 0}},
 {{21, 53.40}, {98.3, 85.5}, {9, 0}}
 };

در ادامه برنامه ای می نویسیم که اطلاعات 5 دانشجو شامل نام، شماره دانشجویی و نمره آنها را گرفته و به صورت یک جدول نمایش دهد:

double scores[5];
 
 //initializing array
 int IDs[5] = {0};//initialize all elements with zero
 
 //Another initialization 
 std::string names[] = {"a", "b", "c", "d", "e"}; 
 
 //take data from user
 cout << "\n\tEnter 5 student names\n";
 cout << "----------------------------------\n";
 for (int i = 0; i < 5; i++)
 cin >> names[i];
 
 cout << "\n\tEnter their IDs\n";
 cout << "----------------------------------\n";
 for (int i = 0; i < 5; i++)
 cin >> IDs[i];
 
 cout << "\n\tEnter their scores\n";
 cout << "----------------------------------\n";
 for (int i = 0; i < 5; i++)
 cin >> scores[i];
 
 
 cout << "\n\n" << setw(10) << "NAME" << "\tID\tSCORE\n";
 cout << "----------\t------\t------\n";
 
 for (int i = 0; i < 5; i++){
 cout << setw(10) << names[i] << "\t" << IDs[i] << "\t" << scores[i] << endl;
 }

خروجی برنامه را ببینید:

Exam-06 Arrays in C++

در پستهای بعدی سورس کد پروژه برای دانلود قرار خواهد گرفت.

اظهار نظر
مشخصات شما:
نظر:
[b] [i] [u] [url] [quote] [code] [img]   
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch::(:shock:
:X:side::):P:unsure::woohoo::huh::whistle:;):s:!::?::idea::arrow:
امنیت
کد آنتی اسپم نمایش داده شده در عکس را وارد کنید.