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

Đề tài: Hoán Vị bằng phương pháp Đệ Quy, làm sao sửa lỗi?

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

    Cool Hoán Vị bằng phương pháp Đệ Quy, làm sao sửa lỗi?

    Đề: Nhập số n & in ra hoán vị của n
    Các bạn cho mình hỏi bài này bị sai ở chỗ nào mà sao khi chạy kết quả ra số dài lắm. Mình mới học về Đệ quy nên còn gà lắm, bạn nào cao thủ giải đáp giúp mình nha, thanks trước.
    Code nè
    Code:
    // Nhap so n & in ra hoan vi cua n
    
    #include <iostream.h>
    #define max 10
    
    int n;
    
    void inmatran(int m,int a[max]);
    void inmatran(int m,int a[max])
    {
    	for(int i=0;i<m;i++)
    	{
    		cout << a[i] << '\t';
    	}
    	cout << endl;
    }
    
    void hoanvi(int m,int a[max]);
    void hoanvi(int m,int a[max])
    {
    	if(m==1)
    	{
    		inmatran(m,a);
    	}
    	else
    	{
    		for(int i=m-1;i>=0;i--)
    		{
    			int t=a[i];
    			a[i]=a[m-1];
    			a[m-1]=t;
    			
                            hoanvi(m-1,a);
    			
                            t=a[i];
    			a[i]=a[m-1];
    			a[m-1]=t;
    		}
    	}
    }
    
    void main ()
    {
    	
    	int a[max];
    	cout << "\n Nhap so: "; cin >> n;
    	for(int i=0;i<n;i++)
    	{
    		a[i]=a[i]+1;
    	}
    	hoanvi(n,a);
    	cout << endl;
    }

  2. #2
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Cái đó hoán vị đc sao, bạn nên đọc sách về thuật toán, khi này bạn sẽ nắm được những phương pháp một cách rõ ràng để làm những bài toán như này. Bài trên không đúng nên không thể sửa.

    Tên một số thuật toán như: đệ quy quay lui, phương pháp sinh kế tiếp.

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