آموزش برنامه نویسی به زبان ++C

این وبلاگ جهت آموزش برنامه نویسی به زبان ++C برای دانش آموزان دبیرستان فرزانگان ایجاد شده است.
جمعه, ۱۴ مهر ۱۳۹۱، ۰۸:۴۸ ق.ظ

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;
}
فایل برنامه

 
مثال 4- برنامه ی مثال یک را به گونه ای تکمیل کنید که آرایه را پس از دریافت در یک آرایه ی دیگر به صورت وارونه کپی کند و آرایه ی دوم را نمایش دهد:


#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;
}
  فایل برنامه

 برای تمرین بیشتر به بخش بعدی مراجعه کنید ... 




نوشته شده توسط سارا نازاری
ساخت وبلاگ در بلاگ بیان، رسانه متخصصان و اهل قلم

آموزش برنامه نویسی به زبان ++C

این وبلاگ جهت آموزش برنامه نویسی به زبان ++C برای دانش آموزان دبیرستان فرزانگان ایجاد شده است.

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;
}

 
مثال 4- برنامه ی مثال یک را به گونه ای تکمیل کنید که آرایه را پس از دریافت در یک آرایه ی دیگر به صورت وارونه کپی کند و آرایه ی دوم را نمایش دهد:


#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;
}
  فایل برنامه

 برای تمرین بیشتر به بخش بعدی مراجعه کنید ... 


موافقین ۰ مخالفین ۰ ۹۱/۰۷/۱۴
سارا نازاری

نظرات  (۲)

mesale 1 goftid ada pas chera char neveshtid too barname?
پاسخ:
eshtebah neveshtam! shomadorostesh kon

مسعولین پاسخگو نیستند!!!

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی