شهریور ۳, ۱۳۹۸ Mostafa بدون دیدگاه

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

توجه : درخواست افزونه ،قالب، اسکریپت و نرم افزار و ... و سوالات و مشکلات خود را در انجمن ارسال نمایید

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

روش اول (پارامتر تابع به عنوان یک اشاره گر) :

void myFunction(int *param) {
   .
   .
   .
}

روش دوم (پارامتر تابع به عنوان یک آرایه با سایز مشخص شده) :

void myFunction(int param[10]) {
   .
   .
   .
}

روش سوم (پارامتر تابع به عنوان یک آرایه با سایز مشخص نشده) :

void myFunction(int param[]) {
   .
   .
   .
}

مثال

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

double getAverage(int arr[], int size) {
  int i, sum = 0;       
  double avg;          
   for (i = 0; i < size; ++i) {
      sum += arr[i];
   }
   avg = double(sum) / size;
   return avg;
}

مثال زیر نحوه استفاده از این تابع را نشان می دهد :

#include <iostream>
using namespace std;
// function declaration:
double getAverage(int arr[], int size);
int main () {
   // an int array with 5 elements.
   int balance[5] = {1000, 2, 3, 17, 50};
   double avg;
   // pass pointer to the array as an argument.
   avg = getAverage( balance, 5 ) ;
   // output the returned value 
   cout << "Average value is: " << avg << endl; 
   return 0;
}
double getAverage(int arr[], int size) {
  int i, sum = 0;       
  double avg;          
   for (i = 0; i < size; ++i) {
      sum += arr[i];
   }
   avg = double(sum) / size;
   return avg;
}

خروجی :
Average value is: 214.400000