محسن فيرادي

21 نقاط السمعة
71.7 ألف مشاهدات المحتوى
عضو منذ
باعتبار ان الوقت يبدأ ب 0 وينهي ب 24 وان وقت الدخول دائما اصغر من وقت الخروج #include void main() { int i,n,in,out,tot=0,h[24]={0}; scanf("%d",&n); while(n) { scanf("%d %d",&in,&out); for(i=in;i
كتبت في أول الموضوع >A جدول مكون من n سطر m عمود n>=1 و m>=1 يمكن أن تكون المصفوفة 4x4 5x3 2x1 15x20 ولدي العديد من الجداول بمثل هده الابعاد 35x16 23x17 >هل البرنامج الذي ستكتبه سيكون مخصص لحل مصفوفة ثابتة الابعاد أم أنه كل مرة سيتم ادخال أبعاد مختلفة لا يهم لأنني لا أريد برنامج أو كود ما أريده هو فكرة عن طريقة حل المسألة يمكنك اعتبار الأبعاد ثابتة m و n >سأكتب توضيح عن فكرتي برد أخر إدا
ما فهمت من شرحك هو أنك ستأخد المصفوفة الأصلية في الأول ستجرب تغيير قيمة خانة واحدة وستجرب جميع الاحتمالات ادا تم الحل توقف فهذا افضل حل ادا لم تجد الحل تجرب تغيير خانتان ثم تجرب جميع الاحتمالات وهكذا ... سأضيف مرحلتين في تطوير الحل الكلاسيكي أولا أقل عدد ممكن أن تغيره من الخانات للتحصل على أفضل حل هو العدد الأكبر بين(عدد الأسطر التي تحتوي على مجموع فردي و عدد الأعمدة التي تحتوي على مجموع فردي) مثال 0111001 1000111 0001110 1111110
جميل توصلت إلي نفس النتيجة في الأول لاكن وجدت مشكلة ## أولا سأوضح لك أمر مهم > إذا كان أحدهما شاقولي و الثاني عامودي ..... الحل بتحويل قيمة الخانة التي تمثل رقم العامود و السطر لهما " دائما تكون القيمة 1 موجودة في هذه الخانة " > دائما تكون القيمة 1 موجودة في هذه الخانة هده القاعدة ليست صحيحة يمكن أن تجد القيمة صفر مثال |1|1|1|*0ّ*| |0|0|1|1| |0|1|0|1| |1|0|0|1| خانة تلاقي السطر الأول مع العمود الأول تحتوي على صفر إدن
صراحة كنت أنتظر ردك إن لم أجد أفكار هنا عندها سأنتقل إلى المواقع الأجنبية
نعم هي مشكلة واقعية وأنا نمذجتها على هذا الشكل أنا وضعت التخطيط لحل المشكلة ومن مراحل الحل أن أمر على المسألة فوق يعني لا يمكنني أن أغير المسألة لأنه سيتطلب مني إعادة تصميم كل شيئ
آسف لم أنتبه صحيح ما قلتَه تم التعديل
آسف لم أنتبه إلى أنني كتبت عكس ما أريده, تم التعديل المطلوب تغيير قيمة بعض الخانات من الواحد الى الصفر وليس من الصفر الى الواحد لتحقيق الشرط الأول مع تغيير أقل عدد ممكن من الخانات(الشرط الثاني) لا يمكن تغير الأصفار الى واحدات يعني قيمة الجدول ستكون أصغر قطعا من القيمة الأولى أول شيئ عملت عليه للحل هو المرحلة الثانية التي قلت أنت أي دراسة جميع الاحتمالات الممكنة لاكن هدا الحل غير عملي لدي بعض الجداول ستستغرق أيام للحل فقط فكر
تم التعديل أي مجموع الخانات التي تحتوي على القيمة واحد المطلوب هو تغيير بعض الخانات من الواحد الى الصفر وليس العكس لتحقيق الشرط الأول مع الحفاظ على أكبر عدد ممكن من الخانات التي تحتوي على واحد
المشكلة التي وضعت أنا هي للشرح المسألة فقط أما المشكلة التي أملك فهي أكبر من دالك بكثير فعدد الاحتمالات قد يصل للمليار لهدا وضعت المشكلة لإيجاد حل أفضل من الاحتمالات
صراحة هدا هو مشكل التعلم من الانترنت ,لايوجد منهج تتبعه... ممكن تعليقات جزاكم الله خيرا ماهي المواضيع المتقدمة في لغة السي ؟ هل كتابة دالة للادخال يتم بواسطة الاسمبلي أم السي نفسها ؟؟
لا مشكلة أخي :) المهم أردت الافادة بما تعلم
مسألة أخرى وهي عندما أدخل للملفات الرأسية للمكتبات القياسية في vs صراحة لا أفهم شيئ , أجد أنهم يعتمدون في الكتابة على الرمز _ لا أعلم لمادا ؟ ما المشكلة هل يتطلب الأمر مستوى أحترافي ؟ أم يتم كتابة تلك الملفات لكي لا يتم فهمها؟ أم أن الأمر عادي فقط أنا أردت تعقيده ؟
نعم مثل PRINTF لاكن لم أعني دوال الادخال والاخراج فقط بل كيف تصبح قادر على التعامل مع الأمور "الخفية " على المبرمج في السي في كلتا الطريقتين هناك اعتماد مباشر للاسمبلي السؤال هو كيف تمت كتابة الدالة printf ,هل تم استخدام احدى الطرقتين ؟ + أنا لا أبحت عن طرق تم ابتكارها من طرف شخص أو مجموعة , ما أريده هو ما تحتوي عليه السي نفسها
لا عندما دكرت أنا TREE يعني أنني تجاوزت مسألة المؤشرات و STACK AND HEAP
لو تمعنت في الموضوع جيدا لما كتبت هدا الرد
مادا تعني ؟ هل يتم تصفير الداكرة بعد تحريرها ؟؟؟
فهمت الآن :)
لم أفهم ممكن توضيح أكتر
كلام الأخ عبد الرحمن أحمد معقول + التمرير بالمرجح يجنبك من عمل نسخة
أنا لا أريد حلول لمشاكل
لاكن دالك لن ينفع في حالة كنت ستعمل inheritance
لأن الكلاسات تحتوي على كلاسات من ملفات أخرى
سبق وبرمجتها هنا مع الكود http://www.startimes.com/f.aspx?t=32469269