ورود

View Full Version : سوال: مرتب سازی ارابه



saeedizade
چهارشنبه 13 اسفند 1393, 17:35 عصر
با سلام
مشکل برنامه ی زیر چیه


کد زیر آرایه ای را میگیرد
اگر کار بر 0 را وارد کند گرفتن تمام می شود
سپس مرتب می کند


import java.util.Scanner;
public class num
{

public static void main (String[] args)
{
Scanner in=new Scanner(System.in);
double[] ar=new double[100];
int i=0;
do{

ar[i]=in.nextDouble();
i++;
}while(ar[i]!=0);

for(int r=0;r<i;r++)
{
for(int e=0;e<r-1;e++){
if(ar[r]>=ar[r+1])
{
double v;
v=ar[r];
ar[r]=ar[r+1];
ar[r+1]=ar[r];
}

}

}


System.out.println(ar);



}


}

ehsan_faal
چهارشنبه 13 اسفند 1393, 18:24 عصر
مطمئن نیستما ولی فکر میکنم اونجایی که واسه بار اول مقدار i رو زیاد میکنی به جای اینکه بیایو و خونه ای که الان مقدارشو از کاربرگرفتی چک کنی یه خونه بعدشو داری چک میکنی!خونه بعدشم که پیشفرض مقدار صفر رو داره!

public class Test {
public static void main(String[] args){
double[] array=new double[100];
Scanner Obj=new Scanner(System.in);
for(int Index=0;Index<array.length;Index++){
System.out.print("Enter "+(Index+1)+"-th Double: ");
double Temp=Obj.nextDouble();
if(Temp!=0){
array[Index]=Temp;
}else{
break;
}

}
Obj.close();
System.out.print("Array: ");
for (double d : array) {
if(d!=0){
System.out.print(d+" ");
}else{
break;
}
}
}

}


و خروجی:

Enter 1-th Double: 2
Enter 2-th Double: 3
Enter 3-th Double: 6
Enter 4-th Double: 5
Enter 5-th Double: 4
Enter 6-th Double: 0
Array: 2.0 3.0 6.0 5.0 4.0

saeedizade
چهارشنبه 13 اسفند 1393, 21:34 عصر
کد من هنوز مشکل داره

ehsan_faal
چهارشنبه 13 اسفند 1393, 22:15 عصر
کدی که من گذاشتم کار گرفتن آرایه رو انجام میده.برای مرتب سازی آرایه هم:
Arrays.sort(Your Array)

استفاده کنید، نیازی نیست که دوباره خودتون الگوریتم مرتب سازیشو بنویسین.