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

Đề tài: Liệt kê tập hợp dãy nhị phân có độ dài n. Nhờ mọi người sửa giúp

  1. #1
    Ngày gia nhập
    04 2009
    Bài viết
    9

    Mặc định Liệt kê tập hợp dãy nhị phân có độ dài n. Nhờ mọi người sửa giúp

    Em làm xong đoạn code nhưng khi chạy thì nó bị đứng ko hiểu sao luôn , mọi người sửa lại tí giúp em nhé , thanks moi người nhiều .
    Code:
    #include<stdio.h>
    #include<conio.h>
    void lietke(int n)
    {
    	int a[30] ;
    	for(int i=0 ;i<n ; i++)
    	a[i]=0 ;
    	i=n ;
    	while(i>=0)
    		{
    		for(i=0;i<n ; i++)
    			printf("%d" ,a[i]) ;
    			printf("\n") ;
    			i=n-1 ;
    			while((i>=0) && (a[i]==1) )
    			i-- ;
    			if(i>=0)
    				{
    				a[i]=1 ;
    				for(int j=i+1 ; j<n;j++)
    				a[j]=0 ;
    				}
    		}
    }
    void main()
    {
    int i,j,n ;
    int a[30] ;
    printf("Nhap day nhi phan muon doi : \n") ;
    scanf("%d",&n);
    nhapmang(a,n);
    lietke(n);
    xuatmang(a,n);
    getch() ;
    }

  2. #2
    Ngày gia nhập
    04 2010
    Bài viết
    69

    Trích dẫn Nguyên bản được gửi bởi thanhhiendep20 Xem bài viết
    Em làm xong đoạn code nhưng khi chạy thì nó bị đứng ko hiểu sao luôn , mọi người sửa lại tí giúp em nhé , thanks moi người nhiều .
    Bạn nên đưa đầy đủ code...có chú thích một chút....chứ cứ đưa thiếu thế này thì chịu...hàm nhapmang() và xuatmang() có tác dụng gì và đưa vào đó để làm công việc gì. Nếu chỉ cần liệt kê các chuỗi nhị phân có độ dài n(có phải là về mặt độ dài của chuỗi) thì chỉ cần đưa vào biến n coi như độ dài chuẩn của chuỗi và thực hiện chỉ cần liệt kê ra:
    n=2=>11,00,01,10
    n=3=>000,001,010,011,100,101,110,111
    ...

  3. #3
    Ngày gia nhập
    10 2011
    Bài viết
    3

    Trích dẫn Nguyên bản được gửi bởi thanhhiendep20 Xem bài viết
    Em làm xong đoạn code nhưng khi chạy thì nó bị đứng ko hiểu sao luôn , mọi người sửa lại tí giúp em nhé , thanks moi người nhiều .
    C++ Code:
    1. #include<iostream.h>
    2.  
    3. void _generate(char *bin,int n)
    4. {
    5.     cout << bin << endl;
    6.     int k = n;
    7.     while (k && bin[k-1]=='1')
    8.     {
    9.         bin[k-1] = '0';
    10.         k--;
    11.     }
    12.     if (k)
    13.     {
    14.         bin[k-1] = '1';
    15.         _generate(bin,n);
    16.     }
    17. }
    18.  
    19. void main()
    20. {
    21.     char s[] = "000000";
    22.     _generate(s,6);
    23. }

  4. #4
    Ngày gia nhập
    04 2009
    Bài viết
    9

    hĩ , mình đang dùng C chứ ko dùng C++ bạn ơi , đúng là hàm bên trên dư hàm nhập xuất mảng thật , mọi người chỉnh lại giúp mình nhé

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

    Mảng mà làm gì. Trong phạm vi mà có thể liệt kê ra được thì n sẽ không quá lớn.
    Chỉ việc for 1 số nguyên từ 0->2^n - 1 rồi in ra n bit cuối của nó là xong (chạy được đến n <= 32 với số nguyên 4 byte, n <= 64 với số nguyên 8 byte)

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

  1. Sự cố Nhờ mod chuyển giúp bài "Sắp xếp số thứ tự ngay trong bảng của 1 database?" từ MySQL sang MSSQL giúp!
    Gửi bởi hu-xeko trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 1
    Bài viết cuối: 12-03-2012, 07:48 PM
  2. Mới nhập môn khó quá , cần trợ giúp [Vấn đề của bạn cần muốn giúp là gì ?]
    Gửi bởi cuingo212 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 22-10-2011, 08:43 AM
  3. Chương trình giúp một học sinh cấp 1 học phép nhân, xử lý hàm rand, giúp mình với?
    Gửi bởi chankx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 12-05-2009, 08:52 PM
  4. Code giúp add một key vào registry, ai giúp em?
    Gửi bởi olavien trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 12-12-2007, 08:45 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