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

سؤال في المصفوفات

مغلق
بدأه akram في 4 سبتمبر 2005 · 5 رد · 1,257 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

double val [3][3

كيف لي ان ادخل في كل بعد قيم خلف بعض..

بمعنى تمثل الخمس قيم الاولى التي تدخل طبعا عن طريق حقل خاص

المحور السيني.. والخمس قيم المدخله عن طريق حقل اخر خاف بعض طبعا تمثل المحور الصادي

هل اثبت احد المحاور باعطائه القيم صفر الى ان انتهي من ادخال الخمس قيم الاولى

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

على سبيل المثال.,

if ( src == intBox1){

	val[0][0] = Double.perseDouble(intBox1.getText());
	val[1][0] = Double.perseDouble(intBox1.getText());
	val[2][0] = Double.perseDouble(intBox1.getText());
}

if ( src == intBox2){

	val[0][0] = Double.perseDouble(intBox1.getText());
	val[0][1] = Double.perseDouble(intBox2.getText());
	val[0][2] = Double.perseDouble(intBox2.getText());
}

زورو موقعنا

www.algabal.com

#2

لم أفهم قصدك جيداً، ولكن لكي تمسح مصفوفة من بعدين بشكل كامل عليك بحلقتي for متداخلتين. كما في المثال التالي:

double val[][] = new double[3][3];
for (int i = 0; i < val.length; i++)
  for (int j = 0; j < val[0].length; j++)
    val[j] = value;

هذا إذا كنت تريد مسح كامل المصفوفة.

أما في الشيفرة التي كتبتها أنت، فبحسب قاعدة محوري السينات والصادات (العينات) فأنت تعطي قيم تقع على المحورين تحديداً، لأنك جعلت قيمتهم 0.

أرجوا أن يكون الشرح واضحاً.

#3

مشكور اخي على الرد لكني اريد ادخال قيم عن طريق ادخالها في حقل ادخال...

وقيم اخرى عن طريق حقل ادخال اخر...

وطبعا القيم الاولى تدخل الى البعد الاول للمصفوفة ومجموعة القيم الثانيه للبعد الثان للمصفوفة..

ارجوا ان تكون فهمت قصدي

زورو موقعنا

www.algabal.com

#4

اشرح بالضبط ماذا تريد، استخدم Power Point إن لزم الأمر!!

اعذرني، ربما يكون شرحك واضحا، لكني أطمع في مزيد من الإيضاح. اتعب في شرح السؤال حتى يتعب الأعضاء في الإجابة.

أتمنى لك التوفيق!

#5

إذا كان لديك فقط مجموعتان من القيم فبإمكانك تعريف مصفوفة من بعدين بالشكل التالي:

double val[][] = new double[2][5];

هذه المصفوفة من بعدين حيث أنها تستطيع حمل عشر قيم ولإسناد القيم إليها تقوم بنفس العمل الذي قمت به سابقاً مع التعديل البسيط لفهارس المصفوفة كما يلي:

val[0][0] = Double.perseDouble(intBox1.getText());
val[0][1] = Double.perseDouble(intBox2.getText());
val[0][2] = Double.perseDouble(intBox3.getText());
val[0][3] = Double.perseDouble(intBox4.getText());
val[0][4] = Double.perseDouble(intBox5.getText());

val[1][0] = Double.perseDouble(intBox1.getText());
val[1][1] = Double.perseDouble(intBox2.getText());
val[1][2] = Double.perseDouble(intBox3.getText());
val[1][3] = Double.perseDouble(intBox4.getText());
val[1][4] = Double.perseDouble(intBox5.getText());

أتمنى أن يكون هذا ما تبحث عنه.

#6

في الحقيقة لم افهم ما تريد عمله .. و لكن اعتقد انك تعقد المسألة باستخدام لـ multidimensional array

ما هي بالظبط المشكلة اللتي تريد حلها؟

كما ان جافا لغة oo يعني object oriented, لذلك حاول استغلال هذه النقطة و لا تعتمد على الاساليب القديمة (و الـ arrays تعتبر اساليب قديمة)

اقتباس
اريد ادخال قيم عن طريق ادخالها في حقل ادخال...

وقيم اخرى عن طريق حقل ادخال اخر

يبدو لي من كلامك انك تريد سلسلتين منفصلتين من المدخلات ..

اذا قم بإنشاء سلسلتين باستخدام ArrayList مثلا

و اذا اردت هتين السلسلتين ان تكونا مرتبطتين بشيئ معين, فضعها في كائن معين ..

class TwoLists
{
    private ArrayList list1;
    private ArrayList list2;

    //......
}

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

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