menusearch
javapro.ir

جلسه پنجم | آرایه ها و رشته ها در زبان برنامه نویسی C

جستجو
چهارشنبه ۹ آبان ۱۴۰۳ | ۶:۱۰:۲۰
۱۴۰۰/۱۲/۴ چهارشنبه
(1)
(0)
جلسه پنجم | آرایه ها و رشته ها در زبان برنامه نویسی C
 جلسه پنجم | آرایه ها و رشته ها در زبان برنامه نویسی C

 

 

 

دوره صفر تا پیشرفته آموزش رایگان زبان برنامه نویسی C در سایت آموزشی جاواپرو

 

 

مدرس زبان برنامه نویسی C

 

 

 

 

تدریس خصوصی آنلاین و از راه دور برنامه نویسی زبان C(سی)...[کــــــلیک کنید]

 

 

جلسه پنجم | آرایه ها و رشته ها در زبان برنامه نویسی C

 

 

 

تعریفی از آرایه ها :
   در فصل های قبل یاد گرفتید که چگونه متغییر های مختلف را تعریف کنید و داده ها را از کاربر دریافت کنید, اما اگر تعداد داده های ورودی از مقداری بیشتر شوند, به مثال 100 ورودی, تعریف متغییر و گرفتن آن توسط روش قبلی امکان پزیر ناست و روشی بسیار سخت است, پس از آرایه ها استفاده میکنیم که در کل میتوان آرایه ها را به ماتریس تشبیه کرد.

 


آرایه های یک بعدی :
   در آرایه های یک بعدی که نام دیگر آن یک لیست است, مجموعی از اطلاعات را درون خانه هایه مشخص شده ای از لیست یا ارایه یک متغییر دیگر قرار میدهیم. و ارایه ها به طور کلی به شکل زیر تعریف میشوند :

 

نام آرایه   نوع آرایه [طول آرایه] ;


به طور مثال اگر بخواهیم آرایه ای یک بعدی تعریف کنیم که 5 آرگومان ظرفیت داشته باشد (طول آرایه = 5 )
و اسم آن X باشد, به صورت زیر مینویسیم .
   

int x[5];


در آرایه بالا, خوانه های حافظه این متغییر یا لیست به صورت زیر بخشبندی میشوند :
                    

x
     

  x[0]        x[1]        x[2]        x[3]           x[4]


در شکل بالا شماره خانه های x از عدد 0 شروع میشوند, زیرا در کامپیوتر, اعداد به جای 1, از عدد 0 شروع میشوند.

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

 

#include <stdio.h>
#include <conio.h>

int main(){

    int x[10];
    float ave;
    int some = 0;
    for (int i=0; i<=9; i++){
        scanf("%d",&x[i]);
        some = some + x[i];
    }

    ave = some / 10;
    printf("the ave is : %f",ave);

    getch();
    return 0;
}

 

 

خروجی :
       

10
20
15
16
17
18
19
14
11
6
the ave is : 14.000000

 

تحلیل :
   در مثال بالا توسط یک حلقه, که از عدد 0 تا 9 رو درون متغییر i میریزد میسازیم و هر بار مقدار خانه i لیست x را دریافت کرده و آن را به متغییر some اضافه میکنیم, سپس در اخر متغییر some که مجموع 10 عدد است را گرفته و تقسیم بر 10 آن را درون متغییر ave میریزیم و سپس آن را نشان میدهیم.

 

 

آرایه های یک بعدی به عنوان آرگومان تابع :
   برای فرستادن یک آرایه به عنوان ارگومان به یک تابع باید در تعریف متغییر در تابع به صورت قبل عمل کنیم ولی فقط جلوی آن علامت [] را بزاریم, اینگونه هر آرایه یک بعدی ای این تابع ما میتواند دریاف کند.

 

 

سفارش انجام پروژه برنامه نویسی زبان C(سی) ...[کـــلیک کنید]

 

 

 


مثال عدد زوج یا فرد با آرایه به عنوان آرگومان تابع :

 

#include <stdio.h>
#include <conio.h>

void zoj(int x[], int len){
    for (int i=0; i<len; i++){
        if (x[i]%2 == 0){
            printf("adad zoj %d : %d \n",i+1,x[i]);
        } else {
            printf("adad fard %d : %d \n",i+1,x[i]);
        }
    }
}

int main(){

    int x[5];
    int len = 5;
    int some = 0;
    for (int i=0; i<=4; i++){
        scanf("%d",&x[i]);
    }

    zoj(x, len);

    getch();
    return 0;
}

 

 

خروجی :

 

13
14
15
5
3
adad fard 1 : 13
adad zoj 2 : 14
adad fard 3 : 15
adad fard 4 : 5
adad fard 5 : 3

 


تحلیل :
   در برنامه بالا در مرحله اول 5 عدد را از کاربر دریافت کرده و آن را در لیست متغییر x میریزیم و سپس آرایه را و متغیر len که تعداد اعداد است را به تابع zoj میدهیم و در این تابع اگر عدد ما زوج بود, آن را در خروجی به عنوان عدد زوج نشان میدهیم و اگر عدد ما فرد بود, آن را به عنوان عدد فرد نشان میدهیم.


جستجوی ترتیبی در آرایه :
   در این روش جستوجو, برنامه ما 2 آرایه را به یک تابع میفرستد و اعداد مشترک این دو آرایه را در خروجی برای ما نشان میدهد :

 

#include <stdio.h>
#include <conio.h>

void esh(int x[], int lenx, int y[], int leny){
    for (int i=0; i<lenx; i++){
        for (int j=0; j<leny; j++){
            if (x[i] == y[j]){
                printf(" %d ",x[i]);
            }
        }
    }
}

int main(){

    int x[5];
    int lenx = 5;
    int y[5];
    int leny = 5;
    printf("adad moshtarak : ");
    for (int i=0; i<=4; i++){
        scanf("%d",&x[i]);
    }
    Printf(“--- - “);
    for (int i=0; i<=4; i++){
        scanf("%d",&y[i]);
    }

    esh(x,lenx,y,leny);

    getch();
    return 0;
}

 

خروجی :

 

1
2
3
4
5
----
7
6
5
4
3
adad moshtarak : 3 4 5


تحلیل :
   در برنامه بالا 2 لیست y و x را از کاربر دریافت کرده و خود این لیست ها و مقدار تعداد آرگومان این لیست ها را به تابع ما میدهد و درآن به کمک حلقه for تو در تو تمام مقادیر x را با تمامی مقادیر y مقایسه میکند و در صورت برابری ,‌ آنها را نشان میدهد.


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

 

نام آرایه   نوع آرایه [تعداد سطر جدول] [تعداد سطون جدول] ;


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

 

int x[4][5];

 

 

مثال گرفتن 5 نمره 4 دانش آموز و چاپ میانگین هرکدام :

 

#include <stdio.h>
#include <conio.h>

 

int main(){

    int x[4][5];
    float ave[4];
    int some[4];
    for (int i=0; i<4; i++){
        some[i] = 0;
    }

    for (int i=0; i<4; i++){
        printf("\n nomarat danesh amoz %d :",i);
        for (int j=0; j<5; j++){
            scanf("%d",x[i][j]);
            some[i] = some[i] + x[i][j];
        }
    }

    for (int i=0; i<4; i++){
        ave[i] = some[i]/5;
    }

    for (int i=0; i<4; i++){
        printf("moadel danesh amoz %d : %f",i,ave[i]);
    }

    getch();
    return 0;
}


خروجی :

 

nomarat danesh amoz 1 :10
20
12
11
13

nomarat danesh amoz 2 :11
12
13
14
15

nomarat danesh amoz 3 :20
13
15
4
6

nomarat danesh amoz 4 :12
11
20
20
20
moadel danesh amoz 1 : 13.000000
moadel danesh amoz 2 : 13.000000
moadel danesh amoz 3 : 11.000000
moadel danesh amoz 4 : 16.000000

 

تحلیل :
   در برنامه بالا, در مرحله اول, یک آرایه دوبعدی به اسم X تعریف کرده و تعداد سطر آن را 4 و تعداد سطون آن را 5 قرار دادیم ( تعداد سطر با تعداد سطون برابر است ), سپس تو متغییر معدل و جمع نمرات را به صورت یک لیست یا یک آرایه یک بعدی تعریف کردیم, توجه کنید چون چند معدل و مجموع نمرات وجود دارد نمیتوان مانند مثال های قبلی از متغییر های عادی استفاده کرد. سپس به کمک یک حلقه تو در تو مقدار هر سطون و سطر متغییر x را گرفته و مقدار سلول اول تا چهارم متغییر some را برابر با مجموع نمرات هر دانش آموز قرار دادیم. سپس به کمک تو حلقه دیگر معدل را حساب کرده و آنها را در خروجی نمایش دادیم.

 

 

 

جهت مشاهده ادامه جلسه پنجم | آرایه ها و رشته ها در زبان برنامه نویسی C اینجا کلیک کنید.

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

1 نظر
raha
شنبه سوم تیر ۰۲
پاسخ
()
()
raha
سلام وقت بخير! ببخشيد اگه به اين سوال پاسخ بدين ممنون مي‌شم! آرايه از کدام کلاس حافظه نمي تواند تعريف شود؟ الف- ثبات ب- خودکار ج- ايستا د- خارجي
هدر سایت
دوره های مقدماتی تا پیشرفته جاوا، اسپرینگ بوت و اسپرینگ سکیورتی
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره معماری میکروسرویس ها (Microservices) با استفاده از Spring Boot و Spring Cloud
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی