Forum Java Ptit-Aptech
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Forum Java Ptit-Aptech

>>>>> www.java13.tk <<<<<
 
Trang ChínhTrang Chính  Tìm kiếmTìm kiếm  Latest imagesLatest images  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
Forum has been closed by admin.

 

 co ai giup to bai nay voi!

Go down 
3 posters
Tác giảThông điệp
wind_and_cloud_only




Tổng số bài gửi : 18
Points : 28
Reputation : 0
Join date : 10/07/2009

co ai giup to bai nay voi! Empty
Bài gửiTiêu đề: co ai giup to bai nay voi!   co ai giup to bai nay voi! Icon_minitime16/7/2009, 4:58 pm

import java.util.Scanner;
public class baitap1

{ Scanner arrayName=new Scanner(System.in);
//**********************Khai Bao Bien**************************
int i,j,n;
int A[]=new int[n];
int total=0;
//**********************NHap N*********************************
void nhap()
{
System.out.print("Nhap n=");
n=arrayName.nextInt();
System.out.println(n);//*******************hien thi size mang
//****************hien thi mang*******************
for(i=0;i<n;i++)
{ System.out.print("nhap phan tu cho mang:");
A[i]=arrayName.nextInt();

http://System.out.printf("=A[%d]"+A[i]);
}
http://System.out.print(A[i]);
}
//*******************Hien thi mANG********************************
//Void dislayMang()

//********************TInH TONG*******************************
void tinhtong()
{
for(i=0;i<=n;i++)
{
total=total+A[i];
}
}
//***********************HIEN THI TONG*********************
void Hienthi_Tong()
{
System.out.println("total=");
System.out.println();
}
//**********************SAP XEP MANG***********************
void sapxep()
{
for(i=0;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
if(A[i]>A[j])
{int tg;
tg=A[i];
A[i]=A[j];
A[j]=tg;
}
}
}
}
//**************************Hien thi mang sap xep***********************
void Hienthi_mang_sapxep()
{
System.out.print("mang da sap xep la:");
System.out.println();
}
public static void main(String[] args)
{
baitap1 x=new baitap1();
x.nhap();
http://x.dislayMang();
x.tinhtong();
x.Hienthi_Tong();
x.Hienthi_mang_sapxep();
}
}

Bài này mình làm ko thấy báo lổi, nhưng chạy thì chỉ cho nhập mổi n, mình muốn tự tay nhập từng phần tử của mảng, nhưng mà ko được, bạn nào giúp hộ với,Thanks nhìu nhìu à!
Về Đầu Trang Go down
thinhit




Tổng số bài gửi : 27
Points : 39
Reputation : 0
Join date : 10/07/2009

co ai giup to bai nay voi! Empty
Bài gửiTiêu đề: Re: co ai giup to bai nay voi!   co ai giup to bai nay voi! Icon_minitime16/7/2009, 7:42 pm

Tớ ko compile chỉ nhận xét 1 số chỗ thôi :
int A[]=new int[n]; // cái này có thể thay bằng :
int A[];
A=new int[n]---> cái này để trong hàm nhập .

Trích dẫn :
void tinhtong()
{
for(i=0;i<=n;i++)
{
total=total+A[i];
}

cái này i<n thôi , ko thì báo lỗi vị trí của mảng vượt khỏi range.
Về Đầu Trang Go down
wind_and_cloud_only




Tổng số bài gửi : 18
Points : 28
Reputation : 0
Join date : 10/07/2009

co ai giup to bai nay voi! Empty
Bài gửiTiêu đề: Re: co ai giup to bai nay voi!   co ai giup to bai nay voi! Icon_minitime16/7/2009, 10:31 pm

cũng không được bạn à? Sad Sad Sad
Về Đầu Trang Go down
Lee87

Lee87


Tổng số bài gửi : 71
Points : 107
Reputation : 5
Join date : 10/07/2009
Age : 37
Đến từ : Hà Nội

co ai giup to bai nay voi! Empty
Bài gửiTiêu đề: Re: co ai giup to bai nay voi!   co ai giup to bai nay voi! Icon_minitime16/7/2009, 11:45 pm

wind_and_cloud_only đã viết:
cũng không được bạn à? Sad Sad Sad

Code đầu tiên của bạn nhé: cấp phát cho mảng a sai rùi, vì chưa có n mà đã cấp cho nó trước khi nhập n thì nó không biết tìm thằng n ở đâu.
Theo thói quen viét code của mình thì mình hay tạo ra các hàm có đối vì khỏi cần cấp phát nhiều lần. và hàm tính tổng của bạn nên để ở dạng có giá trị trả về, không nên để hàm void.

Code của mình viết lại từ bài cảu bạn đây:

Code:

import java.util.Scanner;

public class test1{
        // Ham nhap
    void Iput(){
        int[] a;
        int n;
        Scanner iput = new Scanner(System.in);
        System.out.print("\nSo phan tu mang: ");
            n = iput.nextInt();
        a = new int[n];
        for(int i=0; i<n; i++){
            System.out.print("\na["+i+"] = ");
                a[i] = iput.nextInt();
        }
        Display(a,n);       
    }
        // Ham tinh tong cac phan tu mang
    int Sum(int[] a, int n){
        int l = 0;
        for(int i = 0; i<n; i++){
            l += a[i];
        }
        return (l);
    }
        // Ham sap xep cac phan tu theo chieu tang dan
    void sapxep(int[] a, int n){
        int t = 0;
        for(int i = 0; i<n; i++){
            for(int j = i+1; j<n; j++)
                if(a[i]>a[j]){
                    t = a[i];
                    a[i] = a[j];
                    a[j] = t;
                }       
        }
        System.out.print("\nMang sau khi sap xep la: ");
        for(int k = 0; k<n; k++)
            System.out.print(" "+a[k]);
    }
        // Ham hien thi
    void Display(int[] a, int n){
        System.out.print("\nTong cac phan tu: "+Sum(a,n)+"\n\n");
        sapxep(a,n);
    }
        // Ham chinh
    public static void main(String[] args){
        test1 test = new test1();
        test.Iput();
    }
   
}

Chúc bạn học tốt. Very Happy
Về Đầu Trang Go down
wind_and_cloud_only




Tổng số bài gửi : 18
Points : 28
Reputation : 0
Join date : 10/07/2009

co ai giup to bai nay voi! Empty
Bài gửiTiêu đề: Re: co ai giup to bai nay voi!   co ai giup to bai nay voi! Icon_minitime17/7/2009, 1:10 am

u`k cảm ơn Kậu! nhưng mà mình dùng hàm trả về cho total thì nó báo lổi! Nếu mình đặt return trong vòng for thì nó hiện thị tổng =0, mà ngoài thì báo lổi? không hiểu sao?
Đây là code mình sửa lại
Code:
import java.util.Scanner;
public class baitap1

{ Scanner arrayName=new Scanner(System.in);
//**********************Khai Bao Bien**************************
int i,j,n;
int A[]=new int[100];;
int total=0;
//**********************NHap N*********************************
void nhap()
{
System.out.print("Nhap n=");
n=arrayName.nextInt();
System.out.println(n);//*******************hien thi size mang
//****************hien thi mang*******************
for(i=0;i<n;i++)


{ System.out.printf("nhap phan tu cho mang A["+i+"]=");
A[i]=arrayName.nextInt();

http://System.out.printf("=A[%d]"+A[i]);
}
http://System.out.print(A[i]);
}
//*******************Hien thi mANG********************************
//Void dislayMang()

//********************TInH TONG*******************************
int tinhtong(int A[],int n)
{
for(i=0;i<n;i++)
{
total=total+A[i];
}

}return (total);
//*********************HIEN THI TONG*********************
void hienthi()
{for(i=1;i<=n;i++)
   System.out.printf(" tong cua mang A là total=%d\n",+total);
}

//**********************SAP XEP MANG***********************
void sapxep()
{
for(i=0;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
if(A[j]<A[i])
{int tg;
tg=A[j];
A[j]=A[i];
A[i]=tg;
}
}
}
System.out.print("Mang da sap xep la:\n");
    for(i=1;i<=n;i++)

System.out.printf("mang thu %d la %d:\n",i,A[i]);
}
//**************************Hien thi mang sap xep***********************
//void Hienthi_mang_sapxep()
//{System.out.print("Mang da sap xep la:\n");
//    for(i=0;i<=n;i++)

http://System.out.printf("mang thu %d la %d:\n",i,A[i]);
http://System.out.println();
//}
public static void main(String[] args)
{
baitap1 x=new baitap1();
x.nhap();
http://x.dislayMang();
x.hienthi();
http://x.Hienthi_Tong();
x.sapxep();
}
}
Về Đầu Trang Go down
Lee87

Lee87


Tổng số bài gửi : 71
Points : 107
Reputation : 5
Join date : 10/07/2009
Age : 37
Đến từ : Hà Nội

co ai giup to bai nay voi! Empty
Bài gửiTiêu đề: Re: co ai giup to bai nay voi!   co ai giup to bai nay voi! Icon_minitime17/7/2009, 8:40 am

wind_and_cloud_only đã viết:
u`k cảm ơn Kậu! nhưng mà mình dùng hàm trả về cho total thì nó báo lổi! Nếu mình đặt return trong vòng for thì nó hiện thị tổng =0, mà ngoài thì báo lổi? không hiểu sao?
Đây là code mình sửa lại
Code:
import java.util.Scanner;
public class baitap1

{ Scanner arrayName=new Scanner(System.in);
//**********************Khai Bao Bien**************************
int i,j,n;
int A[]=new int[100];;
int total=0;
//**********************NHap N*********************************
void nhap()
{
System.out.print("Nhap n=");
n=arrayName.nextInt();
System.out.println(n);//*******************hien thi size mang
//****************hien thi mang*******************
for(i=0;i


{ System.out.printf("nhap phan tu cho mang A["+i+"]=");
A[i]=arrayName.nextInt();

http://System.out.printf("=A[%d]"+A[i]);
}
http://System.out.print(A[i]);
}
//*******************Hien thi mANG********************************
//Void dislayMang()

//********************TInH TONG*******************************
int tinhtong(int A[],int n)
{
for(i=0;i
{
total=total+A[i];
}

}return (total);
//*********************HIEN THI TONG*********************
void hienthi()
{for(i=1;i<=n;i++)
   System.out.printf(" tong cua mang A là total=%d\n",+total);
}

//**********************SAP XEP MANG***********************
void sapxep()
{
for(i=0;i
{
for(j=i+1;j<=n;j++)
{
if(A[j]
{int tg;
tg=A[j];
A[j]=A[i];
A[i]=tg;
}
}
}
System.out.print("Mang da sap xep la:\n");
    for(i=1;i<=n;i++)

System.out.printf("mang thu %d la %d:\n",i,A[i]);
}
//**************************Hien thi mang sap xep***********************
//void Hienthi_mang_sapxep()
//{System.out.print("Mang da sap xep la:\n");
//    for(i=0;i<=n;i++)

http://System.out.printf("mang thu %d la %d:\n",i,A[i]);
http://System.out.println();
//}
public static void main(String[] args)
{
baitap1 x=new baitap1();
x.nhap();
http://x.dislayMang();
x.hienthi();
http://x.Hienthi_Tong();
x.sapxep();
}
}
Code bạn sai ở chỗ:
1.Return sai địa điểm.
2.Khi khai báo mảng a và biến n toàn cục rồi thì khỏi cần đối ở hàm tổng, không cần thiết nữa. bạn chỉ cần sửa hàm tính tổng không trả về đối là ok.
3.Hàm hiển thị phải gọi tới hàm tinhtong() chứ không phải là biến total. vì total của bạn khai báo toàn cục và gán cho nó là 0.
Mình sửa lại với cái code bạn vừa sửa:

Code:

Code:

import java.util.Scanner;
public class baitap1

{ Scanner arrayName=new Scanner(System.in);
//**********************Khai Bao Bien**************************
int i,j,n;
int A[]=new int[100];;
int total=0;
//**********************NHap N*********************************
void nhap()
{
System.out.print("Nhap n=");
n=arrayName.nextInt();
System.out.println(n);//*******************hien thi size mang
//****************hien thi mang*******************
for(i=0;i<n;i++)


{ System.out.printf("nhap phan tu cho mang A["+i+"]=");
A[i]=arrayName.nextInt();

http://System.out.printf("=A[%d]"+A[i]);
}
http://System.out.print(A[i]);
}
//*******************Hien thi mANG********************************
//Void dislayMang()

//********************TInH TONG*******************************
int tinhtong()
{
for(i=0;i<n;i++)
{
total=total+A[i];
}
return (total);
}
//*********************HIEN THI TONG*********************
void hienthi()
{for(i=1;i<=n;i++)
  System.out.printf(" tong cua mang A là total=%d\n",+tinhtong());
}

//**********************SAP XEP MANG***********************
void sapxep()
{
for(i=0;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
if(A[j]<A[i])
{int tg;
tg=A[j];
A[j]=A[i];
A[i]=tg;
}
}
}
System.out.print("Mang da sap xep la:\n");
    for(i=1;i<=n;i++)

System.out.printf("  %d",A[i]);
}
//**************************Hien thi mang sap xep***********************
//void Hienthi_mang_sapxep()
//{System.out.print("Mang da sap xep la:\n");
//    for(i=0;i<=n;i++)

http://System.out.printf("  %d",A[i]);
http://System.out.println();
//}
public static void main(String[] args)
{
baitap1 x=new baitap1();
x.nhap();
http://x.dislayMang();
x.hienthi();
http://x.Hienthi_Tong();
x.sapxep();
}
}
Về Đầu Trang Go down
wind_and_cloud_only




Tổng số bài gửi : 18
Points : 28
Reputation : 0
Join date : 10/07/2009

co ai giup to bai nay voi! Empty
Bài gửiTiêu đề: Re: co ai giup to bai nay voi!   co ai giup to bai nay voi! Icon_minitime17/7/2009, 9:30 am

Thank nhéVery Happy!
Về Đầu Trang Go down
Sponsored content





co ai giup to bai nay voi! Empty
Bài gửiTiêu đề: Re: co ai giup to bai nay voi!   co ai giup to bai nay voi! Icon_minitime

Về Đầu Trang Go down
 
co ai giup to bai nay voi!
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» về mảng nè, pro vào giúp em với
» anh chị Pro nào giúp em bài này với em đang cần rất gấp. Cám ơn anh chị nhìu
» sua loi giup minh bt nay voiiii'
» Giúp mình vấn đề hiển thị với get/set
» giúp mình sắp xếp string trong mảng ???

Permissions in this forum:Bạn không có quyền trả lời bài viết
Forum Java Ptit-Aptech :: THẢO LUẬN VỀ JAVA :: ARRAY-STRING-CLASS-
Chuyển đến 
Free forum | ©phpBB | Free forum support | Báo cáo lạm dụng | Cookies | Thảo luận mới nhất