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


آرایه یک بعدی در زبان ++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;

 

خروجی:

خروجی هفتم
    

دوست درسمنی عزیز، امیدواریم از این آموزش رایگان لذت برده باشید.
برای یادگیری این مبحث می توانید این درس را دانلود کنید و از فایل ها و ویدئو این بخش استفاده کنید.
 شما عزیزان می توانید سوالات خود را در بخش انجمن پرسش و پاسخ مطرح کنید و همچنین منتظر انتقادات و پیشنهادات مفید شما در بخش نظرات هستیم تا ما را در کیفیت بهتر آموزش هایمان یاری کنید.


 با امید موفقیت و شادی برای شما دوست درسمنی عزیزsmiley

انجمن برنامه نویسان ++C


نظر بدهید نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.


مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات 13 جلسه
مدت زمان 618 دقیقه
حجم دوره 2/10 گیگابایت
سطح مهارت مقدماتی
وضعیت دوره پایان یافته
تعداد دانشجویان 1192
: میانگین امتیاز

رایگان
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی

مهدی عباسی


درباره مدرس :

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی آنلاین درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ... ده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و ....
بیشتر بدانید