01/10/2018, 00:21
Nhờ các anh chị sửa lỗi vào ra file bài toán Sắp xếp chọn này giúp em
YÊU CẦU:
Input: file DAYSO.INP gồm:
• Dòng 1 chứa số n không quá 100
• Dòng 2 ghi n số nguyên không quá 9 chữ số (có thể ngẫu nhiên).
Cài đặt thuật toán sắp xếp chọn. Ghi ra file SXCHON.OUT tất cả các bước thực hiện thuật toán
Đây là đoạn code của em. Lỗi vào ra cơ bản
import java.util.*;
import java.io.*;
public class Bai01 {
public static void docFile(int a[], int n, Scanner in) {
for (int i = 0; i < n; i++) {
a[i] = in.nextInt();
}
}
public static void selection_sort(int a[], int n) {
for (int i = 0; i < n - 1; i++) {
int min = i;
for (int j = i + 1; j < n; j++) {
if (a[j] < a[min]) {
min = j;
}
}
if (min != i) {
int temp = a[min];
a[min] = a[i];
a[i] = temp;
}
ghiFile(a,out); // LỖI Ở CHỖ NÀY
}
}
public static void ghiFile(int a[], PrintWriter out) {
for (int i = 0; i < a.length; i++) {
out.print(a[i] + " ");
}
}
public static void main(String[] args) {
int n, a[] = new int[100];
try {
Scanner in = new Scanner(new File("DAYSO.INP"));
PrintWriter out = new PrintWriter(new File("SAPXEPCHON.OUT"));
n = in.nextInt();
docFile(a, n, in);
selection_sort(a, n);
ghiFile(a, out);
out.close();
} catch (Exception e) {
System.out.println("Co loi xay ra " + e.toString());
}
}
}
Em cảm ơn nhiều ạ ! Mong anh chị cùng giúp đỡ.
Bài liên quan





Mình thấy lỗi đó là do trong hàm
selection_sort()không có biết biếnoutlà cái gì. Cách giải quyết là pass biếnouttừ hàmmainvàoselection_sortlà được. Hàmselection_sorttrở thànhpublic static void selection_sort(int a[], int n, PrintWriter out)và tại hàmmain()bạn thêm biếnoutvào là được.Thắc mắc là tại sao bạn vừa dùng
ghiFiletạiselection_sort()rồi ởmain()nữa. Nó sẽ ghi 2 lần đấy.Nói chung là sau khi sửa thì nó là như dầy:
Compile thì hết lỗi rồi nhưng mà kết quả khi chạy có đúng hay không thì mình không biết. Haha.
Mình mới học java được 1 ngày thôi, có gì sai thì chém nhẹ ạ
Nó vẫn còn lỗi bạn à ! Cảm ơn bạn vì mình đã sữa được rồi