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

تمرين على مصفوفة ذات بعدين:: المطلوب حلول أخرى

مغلق
بدأه - a l t - في 30 أبريل 2005 · 3 رد · 758 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كتبت برنامج بسيط جدا لمصوفة ذات بعدين تتكون من 3 صفوف و 3 أعمدة

عناصر المصفوفة معرفة مسبقا ضمن البرنامج

المطلوب من البرنامج هو طباعة مايلي

1- محتويات الصف الثاني

2- مجموع أرقام الصف الثالث و العمود الأول

3 - مجموع كل صف من الصفوف الثلاثة

4- مجموع كل عمود من الاعمدة الثلاثة

وهذي هي تجربتلي للحل و اريد أفكار و حلول أفض من هذا الحل

(((((((( وشاكرين تعاونكم ))))))))

public class Q1_3mali_P17
{
	public static void main(String [] args)
	{
  int xx[][]={{6,3,1},{8,6,5},{6,4,2}};
  
  int i,j;
  
  int  sumR3C1=0 , sumR1=0 , sumR2=0 , sumR3=0,
          sumC1=0 , sumC2=0 , sumC3=0;
  
  System.out.print("record 2 ::::\t\t");
  for(i=0; i<xx.length   ; ++i)
  for(j=0; j<xx.length; ++j)
  {
 	 if(i==1)
 	 {
    System.out.print(xx[j]+" ");  
    sumR2+=xx[j]; 	 
 	 }
    
 	 
  
 	 if(i==0)
 	 sumR1+=xx[j];  
 	 
 	 
 	 
 	 if(i==2)
 	 sumR3+=xx[j];	
 	 
 	 if(j==0)
 	 sumC1+=xx[j];	
 	 
 	 if(j==1)
 	 sumC2+=xx[j];	
 	 
 	 if(j==2)
 	 sumC3+=xx[j];	
 	 
  }
  
  sumR3C1=sumR3+sumC1-xx[2][0];
  
  
  System.out.println("\n\nrecord1+column3 =\t"+sumR3C1);
  System.out.println("\nsum the record1 =\t"+sumR1);
  System.out.println("sum the record2 =\t"+sumR2);
  System.out.println("sum the record3 =\t"+sumR3);
  System.out.println("\nsun the column1 =\t"+sumC1);
  System.out.println("sun the column2 =\t"+sumC2);
  System.out.println("sun the column3 =\t"+sumC3);

	}
}

تم تعديل هذه المشاركة بواسطة - a l t - في 30 أبريل 2005 في 15:45

11_03_06_12_48_57_1142110137Image(_66).jpg

#2

ملاحظات:

1- لم أطرح الرقم المشترك في العمود الأول الصف الثالث.

public class TwoDArray{

	public static int sum(int[]array){
  int sum=0;
  for(int i=0;i<array.length;i++)
 	 sum+=array;
  return sum;
	}
	public static int sum(int [][]array, int col){
  int sum=0;
  for(int i=0;i<array.length;i++)
 	 sum+=array[col];
  return sum;
	}
	public static void print(int []array){
  for(int i=0;i<array.length;i++)
 	 System.out.print(array+" ");
	}
	public static void main(String [] args){
  int xx[][]={{6,3,1},{8,6,5},{6,4,2}};
 	 System.out.print("record 2\t\t");
 	 print(xx[1]);
  System.out.print("\n\nrecord3+column1 =\t");
  System.out.println(sum(xx[2])+sum(xx, 0));
  
 	 System.out.print("sum the record1 =\t");
 	 System.out.println(sum(xx[0]));
 	 System.out.print("sum the record2 =\t");
 	 System.out.println(sum(xx[1]));
 	 System.out.print("sum the record3 =\t");
 	 System.out.println(sum(xx[2]));
 	 
  System.out.print("sun the column1 =\t");
  System.out.println(sum(xx, 0));
  System.out.print("sun the column2 =\t");
  System.out.println(sum(xx, 1));
  System.out.print("sun the column3 =\t");
  System.out.println(sum(xx, 2));
	}
}
#3

السلام عليكم

تنظيم ممتاز للطرق واستعمالها حيث ان اسطر المصفوفة ذات بعدين هي مصفوفة ذات بعد واحد اما بالنسبة للأعمدة فالامر ليس كذلك

#4

مشكور اخوي ابو مازن طريقة الحل ممتازة جدا

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

على كل حال الله يجزاك خير، ولا يحرمنا منك

+++++++++++

مشكور عزيزي kkhalil2005 على تعطيرك الموضوع

11_03_06_12_48_57_1142110137Image(_66).jpg

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

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

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

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

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

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