• 0
ahmadssb

عندي خطا في الفنكشن ياريت المساعدة

سؤال

السلام عليكم

عندي مشكلة في الفنكشن يطلعلي الخطأ


G:\4.cpp|494|error: cannot convert 'int*' to 'int (*)[20]' for argument '1' to 'void input(int (*)[20], int (*)[20], int (*)[20], int*, int, int, int*, int*)'|

G:\4.cpp|498|error: cannot convert 'int (*)[20]' to 'int (*)[10]' for argument '2' to 'void display(int*, int (*)[10], int (*)[10], int (*)[10], int, int, int, int*, int*)'|

هذا الفنكشن اللي عملته


void input(int Allocate[][MAX],int Max[][MAX],int Need[][MAX],int Available[],int nop,int nor,int work[MAX],int finish[MAX])
{
-----
}

وهذا الفنكشن الثاني


void display (int Available[],int Need[][10],int Max[][10],int Allocate[][10],int nop,int nor,int k,int result[MAX],int finish[MAX])
{
-----
}

وهذا الاستدعاء في main



int main (){
MainMenu_header ();
int nop = 5, nor = 4, Available[nor],Allocate[nop][MAX],Max[nop][MAX],Need[nop][MAX],work[MAX],finish[MAX];

input(Available,Need,Max,Allocate,nor,nop,work,finish);


display(Available,Need,Max,Allocate,nop,nor);


تم تعديل بواسطه محمد علاء الدين
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

3 إجابة على هذا السؤال .

  • 0

أخي الكريم


void input(int Allocate[][MAX],int Max[][MAX],int Need[][MAX],int Available[],int nop,int nor,int work[MAX],int finish[MAX])
{
-----
}

عند تعريفك للداله ويوجد بالمعاملات الخاصه بها مصفوفات متعددة الابعاد لايجب تحديد حجم المصفوفه بمتغير أو حتي بثابت كما فعلت وعرفت المصفوفه "int Allocate[][MAX]"

بمتغير إسمه "max" ولكن تحدد حجمها بالأعداد int Allocate[][4] وهكذا ...

وأيضا عند تعريف المصفوفات داخل الداله main يجب تحديد حجم المصفوفه بثابت constant علي عكس ما فعل حددتها

بمتغير عادي .. يجب أن يكون nor و nop يتم تعريفهما كالتالي :


const int nor=4;
const int nop=5;

وبعد ذلك تعرف المصفوفات بالطريقه العاديه ....

وأرجو منك عند وضعك لسؤال يجب وضع كود البرنامج كله ...

والسلام عليكم

تم تعديل بواسطه cpp _lover
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الكريم


void input(int Allocate[][MAX],int Max[][MAX],int Need[][MAX],int Available[],int nop,int nor,int work[MAX],int finish[MAX])
{
-----
}

عند تعريفك للداله ويوجد بالمعاملات الخاصه بها مصفوفات متعددة الابعاد لايجب تحديد حجم المصفوفه بمتغير أو حتي بثابت كما فعلت وعرفت المصفوفه "int Allocate[][MAX]"

بمتغير إسمه "max" ولكن تحدد حجمها بالأعداد int Allocate[][4] وهكذا ...

وأيضا عند تعريف المصفوفات داخل الداله main يجب تحديد حجم المصفوفه بثابت constant علي عكس ما فعل حددتها

بمتغير عادي .. يجب أن يكون nor و nop يتم تعريفهما كالتالي :


const int nor=4;
const int nop=5;

وبعد ذلك تعرف المصفوفات بالطريقه العاديه ....

وأرجو منك عند وضعك لسؤال يجب وضع كود البرنامج كله ...

والسلام عليكم

رفعت ملف الكود كامل في المرفقات

ياريت تصححلي المشكلة اللي عندي في الفنكشنين input و display لو سمحت

4.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكلتك انك عرفت المصفوفه Available ببعدين في الدالة و في main ببعد واحد وكذا في الدالة الثانية ارسلت Need مكان Max

تأكد من تطابق الاستدعاء

تم تعديل بواسطه mental-driller
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .