Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 15 kết quả

Đề tài: Giúp mình chuyển số thập phân sang nhị phân bằng đệ quy với

  1. #1
    Ngày gia nhập
    09 2011
    Nơi ở
    Huế
    Bài viết
    0

    Mặc định Giúp mình chuyển số thập phân sang nhị phân bằng đệ quy với

    Viết dưới dạng ngôn ngữ C các bạn nhé. Giúp mình với

  2. #2
    Ngày gia nhập
    12 2010
    Nơi ở
    Cần thơ
    Bài viết
    273

    Trích dẫn Nguyên bản được gửi bởi thantaithieugia Xem bài viết
    Viết dưới dạng ngôn ngữ C các bạn nhé. Giúp mình với
    C Code:
    1. void Chuyen(char *s,int n)
    2. {
    3.    s[0]=n%2+48;
    4.    if (n<2) s[1]=0;
    5.    else chuyen(s+1,n/2);
    6.    return ;
    7. }

    ở dưới thì gọi hàm như vầy

    C Code:
    1. char s[10];
    2. Chuyen(s,100); //100 là số thập phân cần chuyển
    3. printf("%s",s); //xuất ra

    Chưa test...^^!
    Đã được chỉnh sửa lần cuối bởi azurelonely : 27-09-2011 lúc 12:57 PM.
    Ai bất tài, tôi nhìn hoài chẳng thấy,
    Đi khắp phòng tôi lấy 1 tấm gương,
    Khẽ đặt lên một góc phía bức tường,
    Nhìn vào đó, tôi tận tường kẻ đó.

  3. #3
    Ngày gia nhập
    09 2011
    Nơi ở
    Huế
    Bài viết
    0

    s[0]=n%cs+48;

    bạn ơi ngay đoạn này mình ko hiểu rồi, tại sao bạn lại +48

  4. #4
    Ngày gia nhập
    12 2010
    Nơi ở
    Cần thơ
    Bài viết
    273

    Trích dẫn Nguyên bản được gửi bởi thantaithieugia Xem bài viết
    s[0]=n%cs+48;

    bạn ơi ngay đoạn này mình ko hiểu rồi, tại sao bạn lại +48
    Bạn lấy bảng mã ascii ra coi nhé
    với lại cái cs là mình quên xóa hí hí
    mình đã sữa lại ở trên
    Ai bất tài, tôi nhìn hoài chẳng thấy,
    Đi khắp phòng tôi lấy 1 tấm gương,
    Khẽ đặt lên một góc phía bức tường,
    Nhìn vào đó, tôi tận tường kẻ đó.

  5. #5
    Ngày gia nhập
    09 2011
    Nơi ở
    Huế
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi azurelonely Xem bài viết
    Bạn lấy bảng mã ascii ra coi nhé
    với lại cái cs là mình quên xóa hí hí
    mình đã sữa lại ở trên
    Hix mình vẫn ko hiểu tại sao bạn +48 giải thích cho mình đi

  6. #6
    Ngày gia nhập
    08 2011
    Bài viết
    2

    Mặc định Giúp mình chuyển số thập phân sang nhị phân bằng đệ quy với

    Trích dẫn Nguyên bản được gửi bởi thantaithieugia Xem bài viết
    Hix mình vẫn ko hiểu tại sao bạn +48 giải thích cho mình đi
    Mã ASCII của số 0 là 48, số 1 là 49, +48 để lấy kí tự 0 và 1 qua mã ASCII để gán vào s.
    Bạn Azura hay ai đó giải thích hộ mình thuật toán cái này chỗ chuyen(s+1,n/2) với, mình không hiểu s+1 để là gì. Dù sao thì thuật toán này chắc còn thiếu phần đảo chuỗi s vì số dư khi chuyển mình lấy ngượi từ dưới lên.

  7. #7
    Ngày gia nhập
    12 2010
    Nơi ở
    Cần thơ
    Bài viết
    273

    Trích dẫn Nguyên bản được gửi bởi qu4ngco Xem bài viết
    Mã ASCII của số 0 là 48, số 1 là 49, +48 để lấy kí tự 0 và 1 qua mã ASCII để gán vào s.
    Bạn Azura hay ai đó giải thích hộ mình thuật toán cái này chỗ chuyen(s+1,n/2) với, mình không hiểu s+1 để là gì. Dù sao thì thuật toán này chắc còn thiếu phần đảo chuỗi s vì số dư khi chuyển mình lấy ngượi từ dưới lên.
    ừ đúng thiếu phần đảo chuổi :P

    C Code:
    1. void Backcopy(char *r,const char *s)
    2. {
    3.     char temp[100];
    4.     temp[len(s)]=0;
    5.     for (unsigned i=0;i<len(s);i++) temp[i]=s[len(s)-i-1];
    6.     copy(r,temp);
    7. }

    tớ lấy s+1 là để cho nó dịch đi 1 byte tức là s[0] của cái s+1 = s[1] so với s
    Ai bất tài, tôi nhìn hoài chẳng thấy,
    Đi khắp phòng tôi lấy 1 tấm gương,
    Khẽ đặt lên một góc phía bức tường,
    Nhìn vào đó, tôi tận tường kẻ đó.

  8. #8
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,006

    Code đệ quy:
    C Code:
    1. void nhiphan(int n)
    2. {
    3.     n?nhiphan(n>>1):0;
    4.     printf("%d",n&1);
    5. }

    Code ko đệ quy:
    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3.  
    4. int main()
    5. {
    6.     int i,n=91;
    7.     for(i=0;i<32;i++,n<<=1)
    8.        printf("%d",n<0);
    9.     getch();
    10. }
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

  9. #9
    Ngày gia nhập
    08 2011
    Bài viết
    2

    cái đệ quy báo lỗi anh ơi
    ở n?nhiphan báo lỗi Value of type void is not allowed

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

    Trích dẫn Nguyên bản được gửi bởi qu4ngco Xem bài viết
    cái đệ quy báo lỗi anh ơi
    ở n?nhiphan báo lỗi Value of type void is not allowed
    Đổi dòng đó thành if (n) nhiphan(n >> 1);
    Mình thì ưu tiên tính trong sáng của code hơn là việc "ít ký tự" - còn dịch ra mã máy thì giống nhau thôi (có thể còn tuỳ compiler và mức optimize)
    @langman: viết vậy không chuẩn. Báo error hay warning hay không báo gì là tuỳ compiler.
    ISO/IEC 14882:1998, Chap 5.16.2

    If either the second or the third operand has type (possibly cv-qualified) void, then the lvalue-to-rvalue (4.1), array-to-pointer (4.2), and function-to-pointer (4.3) standard conversions are performed on the second and third operands, and one of the following shall hold:

    — The second or the third operand (but not both) is a throw-expression (15.1); the result is of the type of the other and is an rvalue.

    — Both the second and the third operands have type void; the result is of type void and is an rvalue.

    [Note: this includes the case where both operands are throw-expressions. ]

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

  1. Chuyển một số sang nhị phân. Giúp em với?
    Gửi bởi rong3sao trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 12
    Bài viết cuối: 26-06-2013, 07:26 PM
  2. ADO.NET Chuyể Phần mềm QLNS sang Ngôn ngữ Dynamic Programming. Ai chuyển giúp mình!?
    Gửi bởi huynhanhton trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 03-04-2011, 11:41 PM
  3. Chuyển hệ thập phân sang hệ thập lục phân, giúp mình
    Gửi bởi Yio_91 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: 04-10-2010, 01:04 PM
  4. Chuyển hệ nhị phân sang thập phân - Mong mọi người giúp đỡ
    Gửi bởi mrblackrose 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: 25-01-2010, 06:07 PM
  5. Giúp E về chuyển xâu sang số với!
    Gửi bởi xuanhung_cntt trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 25-02-2009, 02:20 PM

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