الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه ahmadssb في 2 سبتمبر 2011 · 3 رد · 568 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

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);

تم تعديل هذه المشاركة بواسطة محمد علاء الدين في 2 سبتمبر 2011 في 21:16

#2

أخي الكريم

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 في 2 سبتمبر 2011 في 20:26

.............. بسم الله الرحمن الرحيم ...............ز

"فمن إتبع هداي فلا يضل ولا يشقي " صدق الله العظيم

ماض في الطريق إلي .... C++

#3
cpp _lover كتب:

أخي الكريم

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

#4

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

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

تم تعديل هذه المشاركة بواسطة mental-driller في 2 سبتمبر 2011 في 23:31

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…