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

عاجل, كيف أرتب مصفوفة ثنائية البعد حسب مجموع كل عامود

بدأه vector_ever في 7 ديسمبر 2010 · 4 رد · 2,001 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أخواني أريد مساعدتكم

المشكلة بالبرمجة ليست المشكلة باي لغة

باختصار عندي مصفوفة ثنائية البعد

2D array

وأريد أن اعيد ترتيب اعمدة المصفوفة وفق مايلي

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

مثال

مصفوفة ثنائية البعد قبل الترتيب

int array [ ] [ ] = { { 1, 3, 5, 7}

{6, 2, 9, 9}

{4, 5, 8, 1}

{7, 3, 7,4 }

};

نجمع عناصر كل عامود وبنشوف مين اعلى شي بيجي بالمكان الاول

وبعد اعادة الترتيب يجب ان تكون كما يلي

int array [ ] [ ] = { { 5, 7, 1, 3}

{9, 9, 6, 2}

{8, 1, 4, 5}

{7, 4, 7,3}

};

وما مشكلة باي لغة جافا ولا سي ولا بي لانه ما حيختلف الحل

وبكون ممنون جدا

سلام

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


 


 


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


 


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


#2

يرجى وضع محاولاتك اخى الكريم

حتى لا يتم إغلق الموضوع وذلك لمخالفته قوانين المشاركات، فقرة طلب حل الواجبات والتمارين.

قواعد طرح المشاركات

http://www.arabteam2...showtopic=29343

Software Developer
Mahmoudkelany.com


 

#3

ستجد الحل في المرفقات شغال

ادا لديك اي استفسار بخصوص الكود انا في الخدمه :)

clr.c

تم تعديل هذه المشاركة بواسطة clrscr_funct في 7 ديسمبر 2010 في 23:47

#4

شكرا لك اخي العزير clrscr_funct على مساعدتك القيمة مع انه كان بالبداية في غموض كبير لانك استخدمت مصفوفة متساوية الابعاد فصار لدي اشكال ايهما العامود وايهما الصف

لكن بالمحصلة بارك الله بك واعطيك صوتي شكرا لك

وادود أن اطرح الحل بلغة الجافا



import javax.swing.JOptionPane;

public class reorderArray {

/**
* @param args
*/
public static void main(String[] args) {

int [][] jobs = { //processing time for every product on every machine
{10,8,12,7,6,11},
{12,6,11,12,8,7},
{15,7,7,9,10,8},
{10,4,7,3,7,9},
{8,12,7,6,12,13},
{7,8,7,11,13,6},
{13,10,10,13,7,9}
};

int x = 7;
int y = 6;

int tmp [] = new int[x];
int i,j,max,tempa;

String output = ""; // Accumulate text here (should be StringBuilder).
//... Print array in rectangular form using nested for loops.

for(i=0;i<x;i++)
{
for(j=0;j<y;j++)
{
output += " " + jobs[j];
}
output += "\n"; }
JOptionPane.showMessageDialog(null, output);



int [] total = new int [y];

String show = ""; // Accumulate text here (should be StringBuilder).
//... Print array in rectangular form using nested for loops.

for (int col= 0; col < y; col++)
{
int sum = 0;

for (int row = 0; row < x; row++)
{


sum += jobs[row][col];

}
total [col]= sum;
show += " " + total [col];
}
JOptionPane.showMessageDialog(null,show, "The total processing time " +
"for each product" , JOptionPane.INFORMATION_MESSAGE);
//---------------------------------------------------



for(i=0;i<x;i++)
{

max=0;
for(j=i+1;j<y;j++)
{
if(total<total[j] )
max=j;
}
if(max != 0)
{

for(j=0;j< x;j++)
{
tmp[j]=jobs[j][max];

}
for(j=0;j< x;j++)
{
jobs[j][max]=jobs[j];
jobs[j]=tmp[j];
}

tempa=total;
total=total[max];
total[max]=tempa;

}

}
//::::::::::::::::::::::::::::::::::::::::::::::::::::


String result = " "; // Accumulate text here (should be StringBuilder).
//... Print array in rectangular form using nested for loops.

for(i=0;i<x;i++)
{
for(j=0;j<y;j++)
{
result += " " + jobs[j];
}
result += "\n"; }
JOptionPane.showMessageDialog(null, result);


}




}



package master.Project;

تم تعديل هذه المشاركة بواسطة vector_ever في 8 ديسمبر 2010 في 05:33

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


 


 


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


 


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


#5

يوجد خطا صغير في البرنامج اولا يمككنا تجاهل الخانه الاخيرة N-1 ثانيا يجب عليك مقارنة قيمة الخانه ADD[j] مع قيمة الخانة add وقيمة الخانه

add[max] قم بادخال القيم الموجود في الصوره لمعرفة الخطا لانه في بعض الحالات لايقوم البرنامج بترتيب الصحيح , التعديلات هي :

-max=i

if(add<add[j] && add[j]<add[max]) -

if(max!=i) -e

clr.c

1

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

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

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

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

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