Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: [Solved]Lỗi cơ bản trong một thuật toán sắp xếp đơn giản

  1. #1
    Ngày gia nhập
    03 2008
    Bài viết
    78

    Red face [Solved]Lỗi cơ bản trong một thuật toán sắp xếp đơn giản

    - Mình có một bài sắp xếp mảng bằng thuật toán Chọn trực tiếp (rất wen thuộc) nhưng làm xong đem Test thì lại ko ra kết quả như mong muốn.Mình có ngâm cứu một hồi cuối cùng cũng ra và đem lên để các member ai wan tâm thì đưa ra ý kiến của mình...
    - Đáng lẽ ra nên đưa wa box C truyền thống để có nhiều newbie tham gia cho zui (vì đơn giản mà).Vì mình lỡ code = C++ rồi nên thôi post lun.
    C++ Code:
    1. #include <iostream.h>
    2. void nhap_mang(int A[],int &n)
    3. {
    4.     cout <<"Nhap n = ";
    5.     cin >>n;
    6.     for(int i=0;i<n;i++)
    7.     {
    8.         cout <<"A["<<i<<"]= ";
    9.         cin >>A[i];
    10.     }
    11. }
    12. void hoanvi(int a,int b)
    13. {
    14.     int tmp = a;
    15.     a = b;
    16.     b = tmp;
    17. }
    18. void Selection_Sort(int A[],int n)
    19. {
    20.     for(int i=0;i<n-1;i++)
    21.     {
    22.         for(int j=i+1;j<n;j++)
    23.         {
    24.             if (A[i]>A[j])
    25.             {
    26.                 hoanvi(A[i],A[j]);
    27.             }
    28.         }
    29.     }
    30. }
    31. void xuat_mang(int A[],int n)
    32. {
    33.     for(int i=0;i<n;i++)
    34.     {
    35.         cout <<A[i]<<" ";
    36.     }
    37. }
    38. int main()
    39. {
    40.    
    41.         int Array[10],N;
    42.     nhap_mang(Array,N);
    43.     Selection_Sort(Array,N);
    44.     xuat_mang(Array,N);
    45.     return(0);
    46. }

    - Đó các bạn thử đem vô test thử coi nó ra kết quả đúng hay ko?Nếu sai cho mình hỏi sai chỗ nào?Và ý kiến của bạn về vấn đề này...

    - Chúc các bạn thành công.Mình sẽ chuyển qua box C cho bên đó tham gia luôn đc ko ha các MOD...mình sợ trùng bài nên bị delete thôi...
    No way, No success..

  2. #2
    Ngày gia nhập
    02 2008
    Bài viết
    88

    He he, nói trước là mình ko biết C++ đâu nha, xem cái chữ ký là biết
    Theo mình là sai ở chỗ biến a và b. Sai đừng chửi mình nghe
    Code:
    void hoanvi(int a,int b)
    {
        int tmp = a;
        a = b;
        b = tmp;
    }
    Mình từ Caulacbovb qua)
    Giã từ VB6 đến với VB.Net, C# và Java.

  3. #3
    Ngày gia nhập
    06 2007
    Nơi ở
    UIT
    Bài viết
    44

    C++ Code:
    1. void Swap(int &a, int &b)
    2. {
    3.     int x=a;
    4.     a=b;
    5.     b=x;
    6. }
    He he, nói trước là mình ko biết C++ đâu nha, xem cái chữ ký là biết
    Theo mình là sai ở chỗ biến a và b. Sai đừng chửi mình nghe
    Bác chắc đúng rồi đó

  4. #4
    Ngày gia nhập
    11 2007
    Bài viết
    153

    Theo mình bạn ko nên post vào box C đâu , Vì C ansi ko hề có tham chiếu . Nếu muốn sửa lại trong C thì dùng con trỏ đó .
    ttecak ?

  5. #5
    Ngày gia nhập
    07 2006
    Bài viết
    121

    Mình độ lại bài này một chút. Bài này sắp xếp tăng dần và in ra số lần hoán vị cần thiết.
    Code:
    int Selection_Sort(int a[], int n)
    {
    	int i,j,min,temp;
            long nSwap = 0;
    	for (i = 0; i < n - 1; i++)
    	{
            	min = i;
    		for (j = i; j < n; j++)
    		{
    			if(a[min] > a[j])
    			{
                            	min = j;
    			}	
    		}
    		if(min != i)
                    {
    			temp = a[min];
    			a[min] = a[i];
    			a[i] = temp;
                            nSwap++;
    
                    }
    	}
            return nSwap;
    }

    OoShinHaoO

Các đề tài tương tự

  1. Thuật toán trong lý thuyết đồ thị ( Help)
    Gửi bởi sonmobai trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 12-11-2008, 03:22 PM
  2. [ Solved ] Cấu trúc dữ liệu và giải thuật-Link List
    Gửi bởi Nemo_wf trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 22-09-2008, 12:40 PM
  3. [ Solved ]Thuật toán trong cây nhị phân
    Gửi bởi thientran trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 01-06-2008, 03:06 PM
  4. [ Solved ]Các thuật giải ngẫu hứng.
    Gửi bởi PoPoPoPo trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 17
    Bài viết cuối: 31-05-2008, 12:56 PM
  5. [ Solved ]Giải thuật Prim !
    Gửi bởi phubaby trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 23-04-2008, 11:07 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn