آموزش سی پلاس پلاس بخش سوم

C++در ادامه شماره های قبلی آشنایی و آموزش سی پلاس پلاس، این بار با آموزش سی پلاس پلاس بخش سوم قصد داریم مبحث آرایه ها رو مورد بررسی قرار بدیم، برای اینکه بتوانیم برنامه های کامل تر و بهتری بنویسیم نیاز داریم که بیشتر با زبان برنامه نویسی سی پلاس پلاس آشنا شویم.

برای مشاهدهمتن کامل آموزش سی پلاس پلاس بخش سوم به ادامه مطلب بروید.

آموزش سی پلاس پلاس بخش سوم

آرایه

آرایه ها را میتوان به این صورت تعریف کرد:مجموعه ای از داده های هم نوع که با یک نام مشترک در خانه های متوالی حافظه ذخیره میشوند.به عنوان مثال از شما خواسته شده بر روی 100 عدد یک عملیات خاصی را انجام دهید،همان طور که واضح است اگر برای هر یک از این اعداد یک متغیر تعریف کنیم،کار بسیار دشوار شده و زمان زیادی میبرد.حال اگر این تعداد به 1000 عدد برسد؛چه میتوان کرد؟!در این جاست که آرایه ها به کمک برنامه نویس آمده و به راحتی کل این اعداد را در یک آرایه ذخیره کرد.و در مواقع مورد نیاز به هر یک دسترسی پیدا کرد.برای روشن شدن بهتر استفاده آرایه ها در برنامه نویسی به مثال ذیل توجه نمایید.

بهتر است اولین مثالی که در این سری مطالب با هم بررسی کردیم را دوباره مرور کنیم.هدف برنامه این بود که نمره ی تعدادی دانشجو را گرفته و 2 نمره ی برتر و مجموع نمرات را نمایش دهد.در آن برنامه برای هر عدد از کاربر خواسته میشد که نمره ی مورد نظر را وارد کند؛حال اگر این تعداد بیسار زیاد باشد،مطمئنا کاربر احساس راحتی با برنامه نخواهد کرد و از برنامه ی اجاد شده ناراضی خواهد بود.اما میتوان این مشکل را با تعریف یک آرایه که کل نمرات در آن قرار میگیرد و فقط یک بار از کاربر درخواست میشود که نمرات را وارد نماید،برطرف نمود.برنامه به این صورت خواهد بود:

#include<iostream.h>

#include<conio.h>

void main()

{

clrscr();

 int arr[1000],max1=-1,max2=-1,sum=0,n;

 cout<<"please enter the number of the grades:"<<endl;

 cin>>n;

 cout<<"\nplease enter the grades:";

for(int i=0;i<n;i++){

  cin>>arr[i];

  sum+=arr[i];

 if(arr[i]>max1){

  max2=max1;

  max1=arr[i];

 }

 else if(arr[i]>max2)

  max2=arr[i];

}

 cout<<"\nthe sum of the entered grades equals to: "<<sum;

 cout<<"the first maximum grade is: "<<max1<<endl;

 cout<<"\nthe second maximum number is : "<<max2;

 getch();

}

همان طور که ملاحظه میکنید،ابتدا آرایه ای با 1000 خانه در نطر گرفته ایم و مقادیر اولیه sum ،max1 و max2 را تعریف کرده ایم. سپس از کاربر پرسیده میشود که چند نمره میخواهد وارد نماید.حال با استفاده از حلقه ی تکرار for به ترتیب نمرات را دریافت کرده و در خانه های متوالی حافظه قرار میدهد.و با هر بار وارد کردن عدد،آن مقدار با مقدار قبلی متغیر sum جمع شده و در متغیر sum ریخته میشود.حال هر عددی که وارد میشود را،بررسی میکند که آیا از مقدار max1 بزرگتر هست یا خیر.اگر بزرگتر باشد گه ابتدا مقدار max1 را در متغیر max2 میرزد.سپس  max1 را برابر آن عدد وارد شده مینماید.حال اگر مقدار وارد شده از max1 بزرگتر نباشد،مقدار آن را با max2 مقایسه میکند،اگر از آن بزرگتر باشد؛مقدار  max2 را برابر عدد وارد شده مینماید.حال اگر هیچ کدام از این حالات هم اتفاق نیفتد مانند شرایط قبل،دوباره حلقه تکرار میشود.تا زمانی که کل اعداد وارد شوند.

در آخر هم با برقراری i=n از حلقه خارج شده و مقادیر sum,max1,max2 چاپ میشوند.

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

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

  

1 دیدگاه در “آموزش سی پلاس پلاس بخش سوم

دیدگاه‌ها غیرفعال هستند.