السلام عليكم
اريد ان ارسل مصفوفة ذات حجم محدد مثل
array[3][4]
الى دالة تقوم بالتعديل على اول عنصر ثم تقوم بارجاع المصفوفة كاملة الى الدالة الcaller بحيث اقوم باستخدام المصفوفة المسترجعة ك parameter لمناداة دالة اخرى .
بعد ذلك اقوم باسناد المصفوفة كاملة الى مصفوفة local معرفة في main .
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
const int ROW = 3;
const int COL = 4;
void print( int [][COL], char );
int modifyFirstElement( int [][COL] );
int modifySecondElement( int[][COL] );
int main()
{
int array[ROW][COL];
for ( int i=0; i < ROW; i++ )
for ( int j=0; j < COL; j++ )
array[j]=0;
array[][COL] = modifySecondElement( modifyFirstElement( array ) );
print( array , 'A');
system("PAUSE");
return 0;
}
void print( int a[][COL], char type )
{
cout <<"TYPE: " << type << endl;
for ( int i=0; i < ROW; i++ )
for ( int j=0; j < COL; j++ )
cout << a[j] << endl;
}
int modifyFirstElement( int a[][COL] )
{
a[0][0]= 1;
return a[][COL];
}
int modifySecondElement( int b[][COL])
{
b[0][1] = 2;
return b[][COL];
}البرنامج يظهر العديد من الاخطاء ، لذلك اتوقع اني لم احسن استخدام المصفوفات .
ملاحظة: لا اريد استخدام pointers ، انا الآن احاول عمل ذلك بدون استخدام اي مؤشر ، في حال كون ذلك مستحيل فارجو معرفة الطريقة باستخدام المؤشرات.

