البرمجة بلغة السى – الجزء الرابع – المصفوفات والسلاسل النصية -3- المصفوفات والدوال :
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: الفئة الأولى :: منتدى البرمجة بلغة السى C Programming
صفحة 1 من اصل 1
البرمجة بلغة السى – الجزء الرابع – المصفوفات والسلاسل النصية -3- المصفوفات والدوال :
البرمجة بلغة السى – الجزء الرابع – المصفوفات والسلاسل النصية -3- المصفوفات والدوال :
فى البرمجة بلغة السى ، يمكن تمرير عنصر مفرد لمصفوفة أو المصفوفة بالكامل إلى دالة . أيضا يمكن تمرير كل من مصفوفة البعد الواحد أو المصفوفة متعددة الأبعاد إلى دالة كدليل (بارامتر) .
تمرير مصفوفة البعد الواحد فى الدالة :
فيما يلى برنامج لتمرير عنصر مفرد من مصفوفة إلى دالة :
الخرج :
يمكن تمرير عنصر من مصفوفة بنفسطريقة تمرير متغير لدالة .
تمرير مصفوفة البعد الواحد بالكامل إلى دالة :
بينما يتم تمرير مصفوفات إلى دليل أو وسيط ، يتم تمرير اسم المصفوفة كدليل ( بمعنى أن عنوان البداية لمساحة الذاكرة يتم تمريره كدليل ) .
كتابة برنامج لتمرير مصفوفة تحتوى على سن (عمر) شخص إلى دالة . هذه الدالة يجب أن توجد متوسط العمر وعرضه فى الدالة الرئيسية .
الخرج :
تمرير المصفوفات متعددة الأبعاد إلى دالة :
لتمرير مصفوفة ثنائية الأبعاد إلى دالة كدليل (وسيط) ، يتم تمرير عنوان بداية مساحة الذاكرة كما فى مصفوفة البعد الواحد .
مثال لتمرير المصفوفات ثنائية الأبعاد إلى دالة :
الخرج :
فى البرمجة بلغة السى ، يمكن تمرير عنصر مفرد لمصفوفة أو المصفوفة بالكامل إلى دالة . أيضا يمكن تمرير كل من مصفوفة البعد الواحد أو المصفوفة متعددة الأبعاد إلى دالة كدليل (بارامتر) .
تمرير مصفوفة البعد الواحد فى الدالة :
فيما يلى برنامج لتمرير عنصر مفرد من مصفوفة إلى دالة :
- الكود:
#include <stdio.h>
void display(int a)
{
printf("%d",a);
}
int main(){
int c[]={2,3,4};
display(c[2]); //Passing array element c[2] only.
return 0;
}
الخرج :
- الكود:
4
يمكن تمرير عنصر من مصفوفة بنفسطريقة تمرير متغير لدالة .
تمرير مصفوفة البعد الواحد بالكامل إلى دالة :
بينما يتم تمرير مصفوفات إلى دليل أو وسيط ، يتم تمرير اسم المصفوفة كدليل ( بمعنى أن عنوان البداية لمساحة الذاكرة يتم تمريره كدليل ) .
كتابة برنامج لتمرير مصفوفة تحتوى على سن (عمر) شخص إلى دالة . هذه الدالة يجب أن توجد متوسط العمر وعرضه فى الدالة الرئيسية .
- الكود:
#include <stdio.h>
float average(float a[]);
int main(){
float avg, c[]={23.4, 55, 22.6, 3, 40.5, 18};
avg=average(c); /* Only name of array is passed as argument. */
printf("Average age=%.2f",avg);
return 0;
}
float average(float a[]){
int i;
float avg, sum=0.0;
for(i=0;i<6;++i){
sum+=a[i];
}
avg =(sum/6);
return avg;
}
الخرج :
- الكود:
Average age=27.08
تمرير المصفوفات متعددة الأبعاد إلى دالة :
لتمرير مصفوفة ثنائية الأبعاد إلى دالة كدليل (وسيط) ، يتم تمرير عنوان بداية مساحة الذاكرة كما فى مصفوفة البعد الواحد .
مثال لتمرير المصفوفات ثنائية الأبعاد إلى دالة :
- الكود:
#include
void Function(int c[2][2]);
int main(){
int c[2][2],i,j;
printf("Enter 4 numbers:\n");
for(i=0;i<2;++i)
for(j=0;j<2;++j){
scanf("%d",&c[i][j]);
}
Function(c); /* passing multi-dimensional array to function */
return 0;
}
void Function(int c[2][2]){
/* Instead to above line, void Function(int c[][2]){ is also valid */
int i,j;
printf("Displaying:\n");
for(i=0;i<2;++i)
for(j=0;j<2;++j)
printf("%d\n",c[i][j]);
}
الخرج :
- الكود:
Enter 4 numbers:
2
3
4
5
Displaying:
2
3
4
5
مواضيع مماثلة
» البرمجة بلغة السى – الجزء الرابع – المصفوفات والسلاسل النصية -1- المصفوفات Arrays :
» البرمجة بلغة السى – الجزء الرابع – المصفوفات والسلاسل النصية -2- المصفوفات متعددة الأبعاد :
» البرمجة بلغة السى - أمثلة الجزء الأول – البرنامج الرابع : ضرب عددين حقيقيين (بعلامة عشرية )
» البرمجة بلغة السى – الجزء الثالث – 4- استدعاء الدالة لنفسها :
» البرمجة بلغة السى – الجزء الثانى -2- حلقة for
» البرمجة بلغة السى – الجزء الرابع – المصفوفات والسلاسل النصية -2- المصفوفات متعددة الأبعاد :
» البرمجة بلغة السى - أمثلة الجزء الأول – البرنامج الرابع : ضرب عددين حقيقيين (بعلامة عشرية )
» البرمجة بلغة السى – الجزء الثالث – 4- استدعاء الدالة لنفسها :
» البرمجة بلغة السى – الجزء الثانى -2- حلقة for
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: الفئة الأولى :: منتدى البرمجة بلغة السى C Programming
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى