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

Array in Runtime

مغلق
بدأه Pixar في 8 أبريل 2005 · 3 رد · 475 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي سؤال

اريد ان اكون مصفوفة ولتكن

arr[n][3];

بحيث ان قيمة n ستتغير في وقت ال runtime

يعني ان جزء من برنامجي سيقوم بالاتي

المستخدم سيدخل اعداد decimal وستتخزن تلقائيا كل رقم في صف جديد من المصفوفة وفي العمود الاول والعمود الثاني سيمثل القيمة بال binary لهذا العدد والعمود الثالث سيخزن عدد ال one's في هذا الرقم

كيف يمكن ان اجعل قيمة n غير معروفة الى ان ينتهي المستخدم من ادخال كافة الارقام التي يريدها والتي هو ايضا لا يعرف متى ستنتهي في وقت ال runtime , اكيد الشغل حيتم بالمؤشرات ولكني لم اتوصل الى نتيجة

سؤال اخر هل هناك في مصرف ال vs 6.0 دالة تحول من decimal الى Binary بحيث ان عدد ال bits سيعرف ايضا في ال runtime

طبعا برمجتي تتم بأستخدام ال c++ وليست بأستخدام لغة vc++

واستخدم مصرف vc++ 6.0

شكرا

#2

اولا بالنسبة لحجز المصفوفات.

يمكن ان تستعمل ال heap بدلا من المكدس stack

و ذلك باستخدام new. كالتالى

الكود التالى سوف يحجز المصفوفة باذن الله

double **arr;
arr = new double*[n];

for (int i=0; i<n;i++)
{
            arr = new double[3];
}

]

لكن لا تنسى عند انتهاءك ان تستخدم delete

حتى تحرر الذاكرة

اما بالنسبة لسالك الثانى فلم استطع ان افهمه :s

#3

لم اجرب الكود ولكن بالنسبة للسؤال الثاني

اسأل هل يوجد في مصرف ال vc++ 6.0 دالة جاهزة تقوم بالتحويل من القيم المدخلة بال Decimal الى قيمة بال Binary بحيث ان عدد ال Bits سيدخله المستخدم في ال Runtime

مثلا

المستخدم حدد قيمة 20 bit

المستخدم ادخل رقم 7 بالديسيمل

القيمة المحولة ستكتب 00000000000000000111

واذا ادخل مثلا 5 للبت القيمة ستكتب هكذا

00111

يعني عدد البتس غير معرف الى وقت التنفيذ

شكرا

#4

http://www.cplusplus.com/ref/cstdlib/itoa.html

itoa تحول الأرقام الى نصوص, و تستطيع تحديد نظام الأرقام في البارامتر الثالث:

itoa (i,buffer,2);

يكتب الرقم i في الأرري buffer بصيغة ثنائية

هذا الموضوع مغلق.

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