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

تغير ترتيب أعمدة مصفوفة اذا تغير ترتيب أعمدة مصفوفة اخرى

بدأه vector_ever في 27 يناير 2011 · 7 رد · 690 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كنت قد طرحت سابقا في مشاركة سابقة لي عن كيفية ربط مصفوفتين ببعضهما حيث اذا تغير ترتيب اعمدة احداهما يتم تغير ترتيب اعمدة الآخرى لكن للآسف لم أحصل على جواب

لذلك ساطرح الموضوع من زاوية آخرى مع افكار جديدة ربما تساعد على الحل

في البداية ساعيد تعريف سريع للمشكلة التي قمت بطرحها بالمشاركة ربط عناصر مصفوفة بعناصر مصفوفة أخرى

فرضا لدي المصفوفة التالية

int [][] x = {
{1, 2, 3, 4},
{1, 2, 3, 4},
{1, 2, 3, 4}
}

ولدي مصفوفة اخرى وهي

int [][] y = {
{5, 6, 7, 8},
{9, 8, 7, 6},
{5, 4, 3, 2}
}

اريد ان استغل كل عنصر من المصفوفة X بما يقابله من المصفوفة Y بعملية حسابية ما ( ضرب , طرح, باقي قسمة,....)

ولكن لسبب ما قمت بعمليات حسابية معينة على المصفوفة الاولى فتغير ترتيب الاعمدة وليكن كما يلي

int [][] x= {
{3, 4, 1, 2},
{3, 4, 1, 2},
{3, 4, 1, 2}
}

ولأاحصل على النتائج التي أريدها يجب أن يعاد ترتيب عناصر المصفوفة Y وفق الترتيب الجديد للمصفوفة X

يعني اذا صار العامود الاول بالمصفوفة X بالموقع التالت يحب ان يتغير ترتيب العامود الاول من المصفوفة Y ليصبح أيضا بالموقع الثالت

وهكذا لكل تغير يحصل بمواقع اعمدة المصفوفة X يجب أن يقابله تغير مماثل في ترتيب أعمدة المصفوفة Y

وفكرتي الجديدة تتلخص في استخدام مصفوفة وسيطة وسكون طول المصفوفة يبدأ من 1 الذي يمثل العمود الاول في المصفوفة X وينتهي باخر رقم لطول المصفوفة X

int [] index = {1, 2, 3, 4};

طبعا تشير عناصر المصفوفة index للترتيب الأصلي لاعمدة المصفوفة X

حيث 1 تشير لترتيب العمود الاول من X و2 تشير لترتيب العامود الثاني وهكذا طبعا قبل القيام بأي تغير لترتيب أعمدة المصفوفة X

وبنفس الوقت فان عناصر المصفوفة index تشير أيضا للترتيب ألاصلي لأعمدة المصفوفة Y

حيث مثلا 1 تشير لترتيب العمود الاول من Y و2 تشير لترتيب العامود الثاني وهكذا طبعا قبل القيام بأي تغير لترتيب أعمدة المصفوفة X

كما هو واضح بالصورة التالية

post-152477-017423000 1296075544_thumb.j

بعد ذلك يتم تغير ترتيب أعمدة المصفوفة X فنقوم بتغير اماكن عناصر المصفوفة index بما يتوافق مع الترتيب الجديد للمصفوفة X

حيث مثلا يتغير العامود الاول ويصبح في موقع العامود الثالث لذلك يجب تغير العنصر الاول من المصفوفة index ليصبح بالموقع الثالث وهكذا....

والشكل التالي يبين ذلك

post-152477-053078200 1296075574_thumb.j

عندئذ تكون مسالتنا قد انتهت تقريبا حيث لا يبقى الا خطوة صغيرة وهي اعادة ترتيب اعمدة المصفوفة Y حسب الترتيب الجديد لعناصر المصفوفة index

post-152477-056612700 1296075602_thumb.j

وهكذا اعتقد ان المسالة صارت اوضح

لكن ما عجزت عنه هو تغير ربط المصفوفة X بالمصفوفة index ليتم تغير ترتيب عناصرها بعد كل تغير يحدث في X

أطلت بالشرح لكن املي كبير بالمساعدة

وشكرا

المرفقات
arrays link.jpgarrays link2.jpgarrays link3.jpg

تم تعديل هذه المشاركة بواسطة vector_ever في 27 يناير 2011 في 00:03

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#2

قم بعمل فئة تغلف المصفوفتين encapsulte

وقم ببناء العمليات التي تتكلم عنها في هذه المشاركة في دوال

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3
علاء الصالحي كتب:

قم بعمل فئة تغلف المصفوفتين encapsulte

وقم ببناء العمليات التي تتكلم عنها في هذه المشاركة في دوال

تحياتي

سلام عليكم

أخي ممكن تشرح اكثر لاستوعب منك الفكرة

ثم يا اخي انا بحاجة من يساعدني لاكتب هذه الدوال لاني لا اعرف كيف

وشكرا

تم تعديل هذه المشاركة بواسطة vector_ever في 27 يناير 2011 في 07:13

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#4

إذاً أين محاولاتك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5
علاء الصالحي كتب:

إذاً أين محاولاتك

تحياتي

أي محاولات يا اخي

يعني انا طرحت فكرة الحل وكل الافكار التي تساعد على الحل باول الموضوع مدعما بالصور

يعني اكتر من هيك معناه انه احل الموضوع

وهذا ما عجزت عنه لذلك لجات الى طلب المساعدة

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#6

إما أن تريد أن تتعلم شيئاً ما فأعلمك المفهوم نفسه

وإم أن تريد أن تسأل سؤال تريد مساعدة في حله

عدا عن ذلك سأغلق الموضوع على طلب حل واجب

وهذا تحذير يتبعه إغلاق

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#7

أخي حبيبي افهم علي لماذا الحدة والعصبية

انا اريد ان اتعلم هذا لا خلاف عليه وبكلا الحالتين أريد ان اتعلم المفهوم متل ما قلت وأيضا في نفس الوقت هو سؤال اريد المساعدة بحله

يعني المسالة أريد ان اعدل عليها لتتطابق مع باقي الكود لدي

يعني انا ايضا اريد بالنهاية ان اعدل عليه وليس نسخ ولصق والسلام عليكم

يعني اخي تطلب مني محاولات وانا اعطيت كل ما املك ولم اخذ لا حق ولا باطل

ويا اخي والله العظيم لا هو حل واجب ولا زظيفة ولا شيء انا عندي مشروع تخرج وتعترضني بعض المشكلات فاقوم بتبسيطها واسالها بالمنتدى

على كل حال انا اعطيت كل ما عندي على امل المساعدة يمكن ان تشوف انه هذا ليس كافي

بس لا ادري ماذا افعل

يعني اخي لو كان لدي اكثر من هذا كنت فورا وبشكل لقائي اضفت ما لدي

طيب أقل شيء اعطيني مساعدة على الاقل تساعدني بحل المشكلة

تم تعديل هذه المشاركة بواسطة vector_ever في 27 يناير 2011 في 23:58

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#8

يا أخي المشلكة أني أعطيتك فعلاً مساعدة في الحل

لذا ضع الكود الذي تعمل عليه

لأرى أنك تستحق مساعدة أو توجيه

إن كنت لم تعمل شيء فأنت بحاجة إلى التعلم قبل أن تسأل

أسوأ طريقة للتعلم في الكون أن تتعلم ببناء برنامج دون حتى أن تعرف أساسيات اللغة التي تعمل عليها

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

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

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

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

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

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