آرایه یک بعدی در زبان ++C(بخش اول)
جلسات دوره
مهدی عباسی
مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه
آموزش آرایه یک بعدی در زبان ++C
در این جلسه می خواهیم مبحث آرایه ها در زبان ++C را بررسی کنیم. ما تا به اینجا متغیرهای زیادی را در برنامه های خود استفاده کردیم و می دانیم که هر زمان در برنامه نیاز داشته باشیم داده هایی از کاربر بگیریم، عملیات و محاسباتی انجام دهیم و نتایج محاسبات را نگهداری کنیم، باید از متغیرها استفاده می کنیم.
در برنامه های کاربردی ما نیاز داریم که داده های بسیار زیادی را نگهداری کنیم که با استفاده از متغیر ها این کار بسیار مشکل می باشد، به همین منظور از آرایه ها استفاده می کنیم، در واقع با استفاده از آرایه ها می توانیم مجموعه ای از داده ها را در کنار یکدیگر ذخیره کنیم.
آرایه ها خانه هایی کنار هم از حافظه هستند که دارای یک نام بوده و هر خانه دارای یک شماره یا اندیس آرایه (index) می باشد که از طریق آن می توانیم به خانه های آرایه دسترسی داشته باشیم. شماره خانه های آرایه از 0 شروع می شود.
نحوه تعریف آرایه:
[تعداد خانه های آرایه] نام آرایه نوع داده آرایه
int a[10];
نحوه مقدار دهی خانه های آرایه:
[مقدار]= [شماره خانه آرایه] نام آرایه
a[0]=[54];
a[4]=[100];
مثال: در این مثال یک آرایه 5 خانه ایی از نوع int تعرف کرده ایم که مقادیر آن را از ورودی دریافت می کنیم و سپس در خروجی نمایش می دهد.
int a[5];
for (int i=1 ; i<5 ; i++)
{
cout<<”Enter a[ “<<i<<”] :”;
cin>>a[i];
}
for (int i=1 ; i<5 ; i++)
{
cout<<a[i]<<endl;
}
خروجی:
مثال: در این مثال مقدار i را در 100 ضرب می کند و سپس در خروجی نمایش می دهد.
نکته: در این برنامه برای تعیین طول آرایه از متغیر استفاده کرده ایم، اما چون نمی توان طول آرایه متغیر باشد در لحظه تعریف آن کلمه const را ابتدای متغیر قرار می دهیم، با این کار دیگر یک متغیر نیست، یک ثابت است.
Const، مانند متغیر ها تعریف می شوند اما در لحظه تعریف باید مقدار دهی شوند و همچنین نمی توانند در طول برنامه تغییر کنند.
const int n=15;
int numbers[n];
for (int i =0 ; i<n ; i++)
{
cout<<”Enter numders[ “<<i<<”] :”;
cin>>numbers[i];
}
for (int i=1 ; i<n ; i++)
{
numbers[i]*100;
}
for (int i=1 ; i<n ; i++)
{
cout<<numbers[i]<<endl;
}
خروجی:
مثال: در این برنامه مقدار خانه های آرایه را از کاربر دریافت کرده و کاربر یک مقدار برای جستجو با مقادیر آرایه وارد می کند، اگر مقدار وارد شده در آرایه وجود داشته باشد پیغام Found به همراه شماره آن خانه را چاپ می کند و اگر پیدا نکرد پیغام Not Found را برای کاربر چاپ می کند.
const int n=6;
int a[n] , x , index = -1;
for ( int i=0 ; i<n ; i++)
{
cout<<”Enter a [“<<i<<”] :”;
cin>>a[i];
}
cout<<”Enter Number for search :”;
cin>>x;
for ( int i=0 ; i<n ; i++)
{
if ( a[i]==x)
{
index=I;
break;
}
}
if ( index==-1 )
{
cout<<”Not Found”;
}
else
{
cout<<”Found in”<<index;
}
خروجی:
مثال: در این برنامه یک آرایه 10 عنصری از کاربر دریافت می کنیم و خانه های آرایه را یک واحد به سمت چپ شیفت می دهیم و سپس آن را در خروجی نمایش می دهیم.
const int n=10;
int a[n];
for ( int i=0 ; i<n ; i++)
{
cout<<”Enter a [“<<i<<”] :”;
cin>>a[i];
}
int temp = a[0];
for ( int i=1 ; i<n-1 ; i++)
{
a[i]=a[i+1];
}
a[n-1]=temp;
for ( int i=0 ; i<n ; i++)
{
cout<<a[i]<<\t;
}
خروجی:
مثال: مانند مثال بالا می باشد، با این تفاوت که مقدار شیفت خانه های آرایه را کاربر وارد می کند.
const int n=10;
int a[n];
for ( int i=0 ; i<n ; i++)
{
cout<<”Enter a [“<<i<<”] :”;
cin>>a[i];
}
int shiftCount;
cout<<”Enter Number Of Shift Left :”;
cin>>shiftCount;
for ( int j=1 ; j<=shiftCount ; j++)
{
int temp = a[0];
for ( int i=1 ; i<n-1 ; i++)
{
a[i]=a[i+1];
}
a[n-1]=temp;
}
for ( int i=0 ; i<n ; i++)
{
cout<<a[i]<<\t;
}
خروجی:
نکته: برای نامگذاری شناسه ها، دو روش نام گذاری داریم:
- PascalCase: اولین حرف هر کلمه با حروف بزرگ نوشته می شود. مثل: ShiftCount
- camelCase: در این روش اولین کلمه با حروف کوچک می باشد و حرف اول کلمات بعدی با حروف بزرگ نوشته می شود. مثل: shiftCount، برای نام گذاری متغیرها از روش camelCase استفاده می کنیم.
مثال: در این برنامه خانه های آرایه را مرتب کرده و در خروجی نمایش می دهد.
const int n=8;
float a[n]={34,56,324,57,89,237,78,67};
for ( int i=n-1 ; i>=1 ; i--)
{
for (int j=0 ; j<i ; j++)
{
if (a[ j ] > a[ j + 1 ] )
{
int temp=a[ j ];
a[ j ] = a[ j+1 ];
a[ j+1 ] = temp;
}
}
}
for ( int i=0 ; i<n ; i++)
{
cout<<a[i]<<\t;
}
خروجی:
مثال: در این برنامه بزرگترین عنصر آرایه را در خروجی چاپ می کند.
const int n=8;
float a[n]={134,56,324,57,890,237,78,67};
float max=a[0];
for (int i=1 ; i<n ; i++)
{
if ( a[i] > max )
{
max=a[i];
}
}
cout<<”Max is :”<<max;
خروجی:
دوست درسمنی عزیز، امیدواریم از این آموزش رایگان لذت برده باشید.
برای یادگیری این مبحث می توانید این درس را دانلود کنید و از فایل ها و ویدئو این بخش استفاده کنید.
شما عزیزان می توانید سوالات خود را در بخش انجمن پرسش و پاسخ مطرح کنید و همچنین منتظر انتقادات و پیشنهادات مفید شما در بخش نظرات هستیم تا ما را در کیفیت بهتر آموزش هایمان یاری کنید.
با امید موفقیت و شادی برای شما دوست درسمنی عزیز
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.