خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه مشاوره آموزشی - پژوهشی بنیان دانش توس ارائه مشاوره، آموزش و انجام پروژه های شبیه سازی صنعتی و دانشجویی

خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه مشاوره آموزشی - پژوهشی بنیان دانش توس ارائه مشاوره، آموزش و انجام پروژه های شبیه سازی صنعتی و دانشجویی

خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه پژوهشی - آموزشی بنیان دانش توس در اسفند 1390 با همکاری تعدادی از دانشجویان تحصیلات تکمیلی دانشگاه های معتبر تهران و مشهد شروع به کار کرد و توفیقات زیادی کسب نمود که به تدریج در وبلاگ بارگزاری خواهد شد. در همین راستا شاخه آموزشی گروه اقدام به راه اندازی سایت moomsan.blog.ir نمود تا ضمن ارائه آموزش های مجازی، به ارتقای خدمات گروه بپردازد. در این وبلاگ فعلا خدمات کدنویسی فرترن به مرور بارگذاری می شود. امید است مورد استفاده متخصصین بازدید کننده از سایت قرار گیرد.
آدرس: مشهد، بین سلمان فارسی 5 و 7 پلاک 48
راه های تماس با گروه :

Tel: +98 915 125 2688
Phone: +98 51 38477407

زمان پاسخگویی: 9 تا 13:30 و 16 تا 21
Telegram.me/moomsan
moomsan@gmail.com
ID: @moomsan

برنامه زیر نمرات ۵ دانش آموز را با استفاده از تابع نمایش می دهد.

#include <iostream>

using namespace std;

void display(int marks[5]);

int main()

{

int marks[5] = {88, 76, 90, 61, 69};

display(marks);

return 0;

}

void display(int m[5])

{

cout << “Displaying marks: “<< endl;

for (int i = 0; i < 5; ++i)

{

cout << “Student “<< i + 1 <<“: “<< m[i] << endl;

}

}

 

 

 

 

 

 

 

برای ارسال آرایه به تابع تنها نام آن استفاده می شود.

display(marks);

همچنین تفاوت را در هنگام ارسال آرایه به عنوان آرگومان به جای متغیر متوجه می شوید.

void display(int m[5]);

آرگومان marks در کد بالا نشان دهنده آدرس حافظه عنصر اول آرایه [۵]mark است.

و آرگومان عادی [۵]int m  در تعریف تابع به int * m تبدیل می شود. این اشاره گر به همان آدرس اشاره شده توسط آرایه marks اشاره دارد.

اگرچه در تابع آرایه با نام [۵]m تعریف شده اما آرایه marks هنگام ارسال به جای آن می نشیند و تغییرات روی آن اعمال می شود.

C++ برای انتقال یک آرایه به تابع از این شیوه برای صرفه جویی در حافظه و زمان پردازش استفاده می کند.

انتقال آرایه چند بعدی به یک تابع

آرایه چند بعدی می تواند مشابه بالا به صورت آرایه یک بعدی به تابع ارسال شود. مثال زیر را در نظر بگیرید که می خواهیم آرایه دو بعدی را به یک تابع ارسال کنیم:

مثال ۲: انتقال آرایه چند بعدی به یک تابع

برنامه زیر عناصر یک آرایه دو بعدی را با استفاده از تابع نمایش می دهد.

#include <iostream>

using namespace std;

void display(int n[3][2]);

int main()

{

int num[3][2] = {

{۳, ۴},

{۹, ۵},

{۷, ۱}

};

display(num);

return 0;

}

void display(int n[3][2])

{

cout << “Displaying Values: ” << endl;

for(int i = 0; i < 3; ++i)

{

for(int j = 0; j < 2; ++j)

{

cout << n[i][j] << ” “;

}

}

}

 

 

 

در برنامه بالا، آرایه چند بعدی num به تابع ()display ارسال می شود.

در تابع ()display ، آرایه

num(n)

 با استفاده از حلقه ی تو در تو نمایش داده می شود.

این برنامه از ۲ حلقه for برای نمایش عناصر آرایه ۲ بعدی استفاده می کند. اگر یک آرایه ۳ بعدی داشتیم، از ۳ حلقه for استفاده می کردیم.

در نهایت، تمام عناصر روی صفحه نمایش چاپ می شوند.

نکتهآرایه چند بعدی با ابعاد بیش از ۲ مانند آرایه دو بعدی، به تابع ارسال می شوند.

در C++ می توانید آرایه ای از نوع آرایه به نام آرایه چند بعدی ایجاد کنید. مثلا:

int x[3][4];

در اینجا x یک آرایه دو بعدی است و حداکثر ۱۲ عنصر را نگه می دارد.

می توانید این آرایه را به عنوان جدولی با ۳ ردیف و هر ردیف دارای ۴ ستون در نظر بگیرید که در زیر نشان داده شده است.

آرایه سه بعدی هم به شیوه ای مشابه عمل می کند. مثلا:

float x[2][4][3];

آرایه x می تواند حداکثر ۲۴ عنصر را نگه دارد. می توانید اینطور در نظر بگیرید که: هر یک از ۲ عنصر می تواند ۴ عنصر داشته باشد که در مجموع ۸ عنصر را تشکیل می دهد و هر یک از این عناصر می تواند ۳ عنصر داشته باشد. از این رو، مجموع عناصر آرایه ۲۴ تا است.

مقدار دهی اولیه در آرایه چند بعدی

می توانید آرایه چند بعدی را با چند روش مقدار دهی اولیه کنید.

مقدار دهی اولیه ی یک آرایه دو بعدی

int test[2][3] = {2, 4, -5, 9, 0, 9};

راه بهتر برای مقدار دهی اولیه آرایه با همان عناصر بالا:

int test[2][3] = { {2, 4, 5}, {9, 0 0}};

مقدار دهی اولیه آرایه سه بعدی

int test[2][3][4] = {3, 4, 2, 3, 0, -3, 9, 11, 23, 12, 23,

۲, ۱۳, ۴, ۵۶, ۳, ۵, ۹, ۳, ۵, ۵, ۱, ۴, ۹};

راه بهتر برای مقدار دهی اولیه آرایه با همان عناصر بالا:

int test[2][3][4] = {

{ {۳, ۴, ۲, ۳}, {۰, -۳, ۹, ۱۱}, {۲۳, ۱۲, ۲۳, ۲} },

{ {۱۳, ۴, ۵۶, ۳}, {۵, ۹, ۳, ۵}, {۳, ۱, ۴, ۹} }

};

مثال ۱ : آرایه دو بعدی

برنامه زیر تمام عناصر یک آرایه ی دو بعدی را نمایش می دهد.

 

 

 

#include <iostream>

using namespace std;

int main()

{

int test[3][2] =

{

{2, -5},

{4, 0},

{9, 1}

};

// Accessing two dimensional array using

// nested for loops

for(int i = 0; i < 3; ++i)

{

for(int j = 0; j < 2; ++j)

{

cout<< "test[" << i << "][" << j << "] = " << test[i][j] << endl;

}

}

return 0;

}

 

 

 

 

 

 

 

 

مثال ۲: آرایه دو بعدی

برنامه زیر دمای دو شهر به مدت یک هفته را ذخیره می کند و سپس نمایش می دهد.

#include <iostream>

using namespace std;

const int CITY = 2;

const int WEEK = 7;

int main()

{

int temperature[CITY][WEEK];

cout << “Enter all temperature for a week of first city and then second city. \n”;

// Inserting the values into the temperature array

for (int i = 0; i < CITY; ++i)

{

for(int j = 0; j < WEEK; ++j)

{

cout << “City ” << i + 1 << “, Day ” << j + 1 << ” : “;

cin >> temperature[i][j];

}

}

cout << “\n\nDisplaying Values:\n”;

// Accessing the values from the temperature array

for (int i = 0; i < CITY; ++i)

{

for(int j = 0; j < WEEK; ++j)

{

cout << “City ” << i + 1 << “, Day ” << j + 1 << ” = ” << temperature[i][j] << endl;

}

}

return 0;

}

 

مثال 3: آرایه سه بعدی

برنامه زیر مقادیر وارد شده توسط کاربر را در آرایه سه بعدی ذخیره کرده و نمایش می دهد.

 

 

#include <iostream>

using namespace std;

int main()

{

// This array can store upto 12 elements (2x3x2)

int test[2][3][2];

cout << “Enter 12 values: \n”;

// Inserting the values into the test array

// using 3 nested for loops.

for(int i = 0; i < 2; ++i)

{

for (int j = 0; j < 3; ++j)

{

for(int k = 0; k < 2; ++k )

{

cin >> test[i][j][k];

}

}

}

cout<<“\nDisplaying Value stored:”<<endl;

// Displaying the values with proper index.

for(int i = 0; i < 2; ++i)

{

for (int j = 0; j < 3; ++j)

{

for(int k = 0; k < 2; ++k)

{

cout << “test[” << i << “][” << j << “][” << k << “] = ” << test[i][j][k] << endl;

}

}

}

return 0;

 

}

 

همانطور که ابعاد افزایش می یابد، پیچیدگی هم افزایش می یابد، اگرچه مفهوم کاملا مشابه قبل است.

پایان قسمت بیستم

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

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