C#
ارسال آرایه های چندبعدی به توابع در برنامه نویسی C مشاهده در قالب پی دی اف چاپ فرستادن به ایمیل
نوشته شده توسط rasoul   
شنبه، ۲۵ خرداد ۱۳۸۷

در این قسمت، ابتدا به نحوه ارسال آرایه های دو بعدی به توابع می پردازیم و سپس آرایه های با ابعاد بالاتر می پردازیم.

شاید تصور کنید که برای تعریف یک آرایه دوبعدی بعنوان پارامتری از یک تابع، تنها قرار دادن دو علامت [] کافی است و نیازی به ذکر ابعاد آن نیست. اما متاسفانه اینگونه نیست، بلکه برنامه نویس باید تعداد ستونهای آرایه دوبعدی را صریحا مشخص نماید، اما نیازی به تعیین تعداد ردیفهای آن نیست. بعنوان مثال فرض کنید تابعی مانند test داریم که بعنوان ورودی یک آرایه دو بعدی و تعدادی پارامتر دیگر دریافت می کند.

 تعریف تابع بصورت زیر اشتباه است:

void test(int A[][], …) {

تعریف درست، تعریفی مانند زیر است:

void test(int A[][۱۰] , …) {

همانطور که می بینید تعداد ردیفها مشخص نشده است، اما تعداد ستونها برابر ۱۰ تعیین شده است. در هنگام فراخوانی تابع test، می توان هر آرایه دوبعدی ۱۰ ستونی را به آن ارسال کرد. آرایه ارسالی به تابع می تواند ۵×۱۰ و یا ۲۰×۱۰ باشد، اما نمی تواند مثلا ۵×۲۰ باشد.

اکنون به ۲ برنامه نمونه دقت کنید.

مثال) تابعی بنویسید که میزان فروش تعدادی شرکت در ۱۲ ماه سال را بعنوان ورودی دریافت، و میانگین فروش شرکتی را که بیشترین میانگین فروش را داشته است، بازگرداند....

ادامه مطلب...
 
ارسال آرایه های یک بعدی به توابع در برنامه نویسی C مشاهده در قالب پی دی اف چاپ فرستادن به ایمیل
نوشته شده توسط rasoul   
شنبه، ۲۵ خرداد ۱۳۸۷

آرایه ها را نیز همچون سایر نوع داده ها می توان به یک تابع ارسال کرد. برای اینکار ابتدا باید تابع را بگونه ای تعریف کنیم که یک پارامتر از نوع آرایه را دریافت کند. فرض کنید تابعی بنام sumArray داریم که یک آرایه یک بعدی از اعداد صحیح را بعنوان ورودی دریافت می نماید و مجموع عناصر آن را باز می گرداند.

تعریف این تابع بصورت زیر است:

int sumArray(int A[], int size) {
int i , sum = ۰;
for (i=۰; i< size; i++)
sum += A[i];
return(sum) ;
}

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

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

ادامه مطلب...
 
آرایه های چند بعدی در برنامه نویسی C مشاهده در قالب پی دی اف چاپ فرستادن به ایمیل
نوشته شده توسط rasoul   
شنبه، ۲۵ خرداد ۱۳۸۷

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

<type> <var-name> [<size ۱>][<size ۲>]  …   [<size n>] ;

بعنوان مثال، اعلان زیر یک آرایه دوبعدی را معرفی می نماید:

int A[۵][۸] ;

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

توجه کنید که اندیس سطرها و ستونها هر دو از ۰ آغاز می گردند. بعنوان مثال: ...

ادامه مطلب...
 
آرایه ها در برنامه نویسی c ( متغیرهای ثابت ) مشاهده در قالب پی دی اف چاپ فرستادن به ایمیل
نوشته شده توسط rasoul   
شنبه، ۲۵ خرداد ۱۳۸۷

آرایه ها در برنامه نویسی c ( متغیرهای ثابت )

متغیرهای ثابت

همانطور که در قسمت قبل گفته شد، گرچه اندازه یک آرایه باید ثابت صحیح باشد؛ اما می توان از متغیرهای ثابت نیز استفاده کرد. یک متغیر ثابت، متغیری است که فقط می تواند در هنگام اعلان مقدار اولیه بگیرد و این مقدار دیگر قابل تغییر نیست.

 برای اعلان متغیرهای ثابت، از کلمه کلیدی const قبل از نوع متغیر استفاده می گردد. بعنوان مثال:

const int k = ۱۰;

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

این متغیرها در تعریف مقادیر ثابتی که مقدار آنها در طول برنامه تغییر نمی کند، بکار می روند. بعنوان مثال :

const float pi = ۳.۱۴;

این کار نه تنها خوانایی برنامه را بالا می برد (بدلیل استفاده از کلمه pi که برای همه شناخته شده است)، بلکه باعث می شود تغییر پذیری برنامه نیز بالا برود. بدین معنا که در صورتیکه برنامه نویس تصمیم گرفت مقدار ثابت را عوض کند، نیازی به تغییر کل برنامه نیست و فقط کافی است مقدار اولیه متغیر را عوض نماید. بعنوان مثال اگر برنامه نویس بخواهد عدد pi را با ۴ رقم اعشار در محاسبات شرکت دهد، فقط باید در تعریف اولیه آن، مقدار را عوض کرده و از ۴ رقم اعشار استفاده نماید.

از این مسئله می توان در تعریف آرایه ها نیز استفاده کرد. بدین صورت که بجای آنکه اندازه آرایه را با یک ثابت صحیح مشخص نماییم، آن را با یک متغیر ثابت تعریف می کنیم. با اینکار، درصورتیکه نیازی به تغییر اندازه آرایه (یا آرایه ها) گردد، فقط کافی است مقدار اولیه متغیر ثابت خود را تغییر دهیم. برای نمونه به مثال زیر دقت کنید:

برنامه ۲) برنامه ای بنویسید که سال ورود تعدادی دانشجو را دریافت و سپس تعداد ورودی های سالهای ۷۵ تا ۸۴ را محاسبه و چاپ نماید.

void main() {
const int startYear = ۷۵;
const int yearNo = ۱۰;
int count[yearNo] = {۰};
int i, n, year;
printf("enter student no :");
scanf("%d",&n);
for (i= ۰;i<n; i++) {
     printf("enter entrance year :");
     scanf("%d",&year);
     count [year – startYear] ++;
}
for (i= ۰; i<yearNo ; i++) {
     printf("year = %d count = %d \n",startYear + i , count[i]);
}

 
آرایه ها در برنامه نویسی c مشاهده در قالب پی دی اف چاپ فرستادن به ایمیل
نوشته شده توسط rasoul   
شنبه، ۲۵ خرداد ۱۳۸۷
به عناصر آرایه، باید از نام آرایه بعلاوه اندیس استفاده کرد. در قسمتهای بعدی، نحوه تعریف و استفاده از آرایه ها را تشریح خواهیم کرد.

آرایه های یک بعدی

پیش از آنکه بتوان از یک آرایه یک بعدی استفاده کرد، باید آن را اعلان کرد. اعلان آرایه ها بصورت زیر انجام می گردد:

<type> <var-name>[<size>] ;

بعنوان مثال:

int A[۱۰];

خط بالا یک آرایه ۱۰ تایی از اعداد صحیح بنام A ایجاد می نماید. هر کدام از عناصر این آرایه می توانند بعنوان یک متغیر مستقل مورد استفاده قرار گیرد. برای دسترسی به عناصر این آرایه باید از اندیس استفاده نمود. در زبان C اندیسها در داخل کروشه [] قرار می گیرند. نکته بسیار مهمی که باید بدان توجه کرد آنستکه در C اندیس یک عدد صحیح است که از ۰ آغاز می گردد. به مثال زیر توجه نمایید: ...

ادامه مطلب...
 


صفحه 1 از 4