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

مساعده في تصحيح كود

بدأه موووج.. في 16 ديسمبر 2010 · 3 رد · 524 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أرجوا منكم تصحيح الكود

هذا السؤال::

write a program to do the following:

Declare & read an array of k elements

Interchange elements such that the last is replaced with the first

Ex.15,2,4,0,3,7

become 7,3,0,4,1,2,15

Note :operation are done on the same array

set the physical size to 10,read the effective size x

the program will only cnsider the effective size

public class Intarray

{

public class void main (string[]args)

{

final int a=10;

int []array =new int [a]

for (int c=0;c<array.lenght;c++)

System.out.printf("%d";array[c]);

for(int i=10;i<=array.length;i--)

System.out.printf("%d",array);

}

}

1
#2

الطريقه اصلا خطأ ..

كل ما فعلته انت انك غيرت طريقه العرض ولكن يجب عليك تبديل القيمه داخل المصفوفه

هكذا

 public static void main(String[]args)
{
	final int a=10;
	int []array =new int [a] ;
	Scanner s = new Scanner(System.in);

	for (int c=0;c<array.length;c++)
    	array[c]= s.nextInt();
int temp ;
	for(int i=0;i<array.length/2;i++)
	{
    	temp = array;
    	array= array[array.length-(1+i)];
    	array[array.length-(1+i)] = temp;
	}


	for (int c=0;c<array.length;c++)
    	System.out.printf("%d",array[c]);

}

وبالتوفيق .. يا ريت لو فى طرق اكثر احترافيه بعيدا عن هذا السؤال ممكن حد يعرضها

تم تعديل هذه المشاركة بواسطة The expendable في 16 ديسمبر 2010 في 16:26

no-pain-no-gain.jpg

اذا كنت لا تعلم الى اين تذهب... فكــل الطرق تؤدى الى هناك

#3

طريقه اخرى باستخدام كلاسِArrayUtils

    	ArrayUtils.reverse(array);

هل يوجد المزيد حتى نغطى كافه الطرق او الالجوريزمات التى تعمل عمليه عكس المصفوفه

تم تعديل هذه المشاركة بواسطة The expendable في 16 ديسمبر 2010 في 16:23

no-pain-no-gain.jpg

اذا كنت لا تعلم الى اين تذهب... فكــل الطرق تؤدى الى هناك

#4
public static void main(String[] args)
{
   int[] arr = {8,7,6,5,4};

 int x,y,mid;
 int temp;

y = arr.length -1;
mid = arr.length/2;

for(x=0; x<arr.length; ++x)
{
   if(x < mid)
   {
    temp = arr[x];
    arr[x] = arr[y];
    arr[y] = temp;
      --y;
   }
}

for(x =0; x<arr.length; ++x)
System.out.print(arr[x]+" ");
}//end

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

والفكرة وحدة وهي عملية الswap وشرحها كالتالي:

في اللفة الاولى في الـloop بيروح بيستبدل العنصر الاول بدل العنصر الاخير في المصفوفة.

اللفة التانية بيروح بيستبدل العنصر التاني بدل الي قبل الاخير.

اللفة التالتة بيروح بيستبدل العنصر التالت بدل الي قبل قبل الاخير.

وهكذا حتى الوصول إلى منتصف المصفوفة .

ليش منتصف المصفوفة ما بستبدله؟؟ لأن ازا بدو يستبدلو بستبدلو بنفسه ^_^

ليش عملية الـswap ما تكمل حتى نهاية المصفوفة؟؟ لأنها راح ترجع زي ما كانت يعني محلك يا واقف.

بسأل وبجاوب !! :rolleyes:

تم تعديل هذه المشاركة بواسطة PS-Leopard في 22 ديسمبر 2010 في 00:52

The quieter you become...the more you are able to hear

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