Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    (Giúp Đỡ) Lỗi trong bài toán sắp xếp kiểu lựa chọn

    Em có làm 1 bài về sắp xếp kiểu lựa chọn mà không biết sai ở đâu mong anh chị giúp dùm.
    Đề bài :Cho 1 dãy số nguyên lưu trư trong mảng A ,Hãy viết chương trình ứng dụng giai thuật sắp xếp kiểu lựa chọn để sắp xếp dãy số trên sao cho nữa đầu là số chắn nữa sau là số lẻ
    Dãy số: 4,1,5,2,38,33,12,9
    Mã:
    #include<stdio.h>
    #include<conio.h>
    
    void swap(int &a,int &b)
    {
         int t;
         t=a;
         a=b;
         b=t;
         
    }
    void sapxep(int A[],int n)
    {
         int i,j,sc;
         for(i=0;i<=n-2;i++)
         sc=i;
         for(j=i+1;j<=n-1;j++)
         if((A[sc]%2!=0) && (A[j]%2==0))
         sc=j;
         swap(A[sc],A[j]);
    }
    void inkq(int A[],int &n)
    {
         int i;
         for(i=0;i<n;i++)
         printf("%d",A[i]);
    }
    main()
    {
          int A[]={4,1,5,2,38,33,12,9};
          int n=8;
          sapxep(A,n);
          getch();
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn xem lại sắp xếp bạn không hiểu phạm vi của đóng {}.
    theo cách bạn viết thì nó sẽ như thế này
    Mã:
    void sapxep(int A[],int n)//Hàm chạy của bạn chỉ thếm { }
    {
         int i,j,sc;
         for(i=0;i<=n-2;i++)
        {
               sc=i;
        }
         for(j=i+1;j<=n-1;j++)
        {
               if((A[sc]%2!=0) && (A[j]%2==0))
                {
                     sc=j;
                }
          }
         swap(A[sc],A[j]);
    }
    //////////////////////////////////////////////////////////////////////////////////
    void sapxep(int A[],int n)//Mình chỉnh sửa lại tý
    {
         int i,j;
         for(i=0;i<=n-2;i++)
    	 {
    		 for(j=i+1;j<=n-1;j++)
    		 {
    			 if((A[i]%2!=0) && (A[j]%2==0))
    			 {
    				 swap(A[i],A[j]);
    			 }
    		 }
    	 }
    }
    Như thế này là chạy bình thường thôi.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi thanhtuan1989
    Bạn xem lại sắp xếp bạn không hiểu phạm vi của đóng {}.
    theo cách bạn viết thì nó sẽ như thế này
    Mã:
    void sapxep(int A[],int n)//Hàm chạy của bạn chỉ thếm { }
    {
         int i,j,sc;
         for(i=0;i<=n-2;i++)
        {
               sc=i;
        }
         for(j=i+1;j<=n-1;j++)
        {
               if((A[sc]%2!=0) && (A[j]%2==0))
                {
                     sc=j;
                }
          }
         swap(A[sc],A[j]);
    }
    //////////////////////////////////////////////////////////////////////////////////
    void sapxep(int A[],int n)//Mình chỉnh sửa lại tý
    {
         int i,j;
         for(i=0;i<=n-2;i++)
    	 {
    		 for(j=i+1;j<=n-1;j++)
    		 {
    			 if((A[i]%2!=0) && (A[j]%2==0))
    			 {
    				 swap(A[i],A[j]);
    			 }
    		 }
    	 }
    }
    Như thế này là chạy bình thường thôi.
    cảm ơn bạn nhìu nha thế mà quần hồi tối đến giờ
    à bạn có yahoo không cho mình xin với để có gì thắc mắc mình hỏi bạn cho tiện[IMG]images/smilies/smile.png[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •