giải trí với lập trình


Diễn đàn chia sẻ kiến thức, kinh nghiệm về IT và cuộc sống!
 
Trang ChínhGalleryTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập
Top posters
Sakura (1124)
 
hotboy (705)
 
Già Làng (373)
 
con_ca_nho90 (289)
 
that_true (154)
 
theanhkkt (143)
 
phamay (137)
 
lovelonelyman (134)
 
o0ovioletstaro0o (128)
 
stevenhung (122)
 
Âm - Dương lịch
Clock
Logo
11TH02 Pro!
Liên kết
Tin tức 60s
Tin công nghệ
Thời sự 24h
Game Moblie

Share | 
 

 giải trí với lập trình

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
hotboy


avatar

Thú CƯng :
Nam Aries

Số bài viết : 705
Điểm : 1043
Được cảm ơn : 9
Ngày sinh : 21/03/1990
Tham gia ngày : 13/05/2010
Tuổi : 28
Đến từ : BDU

Bài gửiTiêu đề: giải trí với lập trình   27/6/2011, 19:45

Dạo 1 vòng trên C việt thấy có 1 bro mới đi test ở Fsoft về đăng lên 1 số câu hỏi thú vị nên tui copy về để anh em tham khảo thử, ai làm được thì hướng dẫn anh em ^.^

Code:
#include <stdio.h>
void sonpipi (int x)
{
   if (x > 0)
   {
      sonpipi(--x);
   }
   printf("%d, ", x);
}
int main()
{
   sonpipi(5);
   return 0;
}
chọn kết quả in ra màn hình trong 4 kết quả sau và giải thích nguyên nhân tại sao

Trích dẫn:
A. 1, 2, 3, 4, 5, 5,
B. 4, 3, 2, 1, 0, 0,
C. 5, 4, 3, 2, 1, 0,
D. 0, 0, 1, 2, 3, 4
E. 0, 1, 2, 3, 4, 5,


1 câu nữa nhé

cho đoạn code sau
Code:
Code:
#include <stdio.h>

...
..................
int main()
{
    int a = 2;
    int b;
    sonpipi(a);
sonpipi(b);
    return 0;
}

cho phép bạn tùy ý viết code ở dòng ...... nhưng không được phép sửa hàm main để in ra đúng tên biến đã truyền vào

ví dụ như tên biến truyền vào là a thì in ra màn hình la a

tên biến truyền vào là sdjfhsdjfgsdjkfhsdjkf thì in ra tên biến là sdjfhsdjfgsdjkfhsdjkf

lưu ý: sonpipi là thứ bạn cần tự định nghĩa nhé, và ứng với yêu cầu của bài thì bạn phải in ra màn hình là

Trích dẫn :
a
b
Về Đầu Trang Go down
Xem lý lịch thành viên
Sakura


avatar

Thú CƯng :
Nam Scorpio

Số bài viết : 1124
Điểm : 1688
Được cảm ơn : 35
Ngày sinh : 03/11/1990
Tham gia ngày : 16/03/2010
Tuổi : 27
Đến từ : Bình Dương
Ngề nghiệp : IT Student

Bài gửiTiêu đề: Re: giải trí với lập trình   27/6/2011, 20:08

Câu đầu dễ, nhìn cái vòng đệ quy là hiểu. Từ 5, khi vào hàm đệ quy sopipi(--x) --> x sẽ giảm xuống 1. Cho đến khi nó giảm về 0, thì điều kiện if(x > 0) sẽ không được thực hiện (và đây cũng là điểm dừng của hàm đệ quy), và nó sẽ làm dòng dưới, là xuất ra 0. Tiếp tục nó chỉ việc xuất ra các số trong stack thôi (0 --> 4).
Suy ra đáp án là:
D. 0, 0, 1, 2, 3, 4

Mấu chốt ở chỗ khi x về 0, nó dừng đc đệ quy, nhưng vẫn làm cái dòng printf kia --> sẽ có 2 con số 0.

_________________________________________________
Khách viếng thăm muốn liên hệ với mình thì xem thông tin phía dưới nha:
Email: [You must be registered and logged in to see this link.]
Nick Yahoo: Edward_Thien
Về Đầu Trang Go down
Xem lý lịch thành viên
jetvhs

Member Năng Động


Member Năng Động
avatar

Thú CƯng :
Nam Capricorn

Số bài viết : 105
Điểm : 198
Được cảm ơn : 5
Ngày sinh : 13/01/1990
Tham gia ngày : 03/05/2010
Tuổi : 28
Đến từ : Tây Ninh
Ngề nghiệp : Sinh Viên

Bài gửiTiêu đề: Re: giải trí với lập trình   27/6/2011, 21:03

Edward_Thien đã viết:
Câu đầu dễ, nhìn cái vòng đệ quy là hiểu. Từ 5, khi vào hàm đệ quy sopipi(--x) --> x sẽ giảm xuống 1. Cho đến khi nó giảm về 0, thì điều kiện if(x > 0) sẽ không được thực hiện (và đây cũng là điểm dừng của hàm đệ quy), và nó sẽ làm dòng dưới, là xuất ra 0. Tiếp tục nó chỉ việc xuất ra các số trong stack thôi (0 --> 4).
Suy ra đáp án là:
D. 0, 0, 1, 2, 3, 4

Mấu chốt ở chỗ khi x về 0, nó dừng đc đệ quy, nhưng vẫn làm cái dòng printf kia --> sẽ có 2 con số 0.

Hay quá. Bài này rất hay, giúp anh em biết thêm đc nhìu thứ Very Happy Thanks Chú
Về Đầu Trang Go down
Xem lý lịch thành viên http://my.opera.com/jetvhs
hotboy


avatar

Thú CƯng :
Nam Aries

Số bài viết : 705
Điểm : 1043
Được cảm ơn : 9
Ngày sinh : 21/03/1990
Tham gia ngày : 13/05/2010
Tuổi : 28
Đến từ : BDU

Bài gửiTiêu đề: Re: giải trí với lập trình   27/6/2011, 22:37

quan trọng câu 2 kìa Very Happy
Về Đầu Trang Go down
Xem lý lịch thành viên
Sakura


avatar

Thú CƯng :
Nam Scorpio

Số bài viết : 1124
Điểm : 1688
Được cảm ơn : 35
Ngày sinh : 03/11/1990
Tham gia ngày : 16/03/2010
Tuổi : 27
Đến từ : Bình Dương
Ngề nghiệp : IT Student

Bài gửiTiêu đề: Re: giải trí với lập trình   27/6/2011, 23:13

Câu 2 chưa nghe bao giờ, để suy nghĩ tí.

_________________________________________________
Khách viếng thăm muốn liên hệ với mình thì xem thông tin phía dưới nha:
Email: [You must be registered and logged in to see this link.]
Nick Yahoo: Edward_Thien
Về Đầu Trang Go down
Xem lý lịch thành viên
hotboy


avatar

Thú CƯng :
Nam Aries

Số bài viết : 705
Điểm : 1043
Được cảm ơn : 9
Ngày sinh : 21/03/1990
Tham gia ngày : 13/05/2010
Tuổi : 28
Đến từ : BDU

Bài gửiTiêu đề: Re: giải trí với lập trình   28/6/2011, 19:09

ai giải được câu 2 thì hướng dẫn anh em nghen Laughing
Về Đầu Trang Go down
Xem lý lịch thành viên
d0m3n.0f.d3ath

Member Năng Động


Member Năng Động
avatar

Thú CƯng :
Nam Cancer

Số bài viết : 109
Điểm : 118
Được cảm ơn : 0
Ngày sinh : 27/06/1990
Tham gia ngày : 23/09/2010
Tuổi : 28
Đến từ : 11TH02
Ngề nghiệp : Sinh Viên

Bài gửiTiêu đề: Re: giải trí với lập trình   28/6/2011, 20:00

Không hiểu ở câu
Trích dẫn :
sonpipi(b);
Không thấy biến nó.. chỉ thấy nó khai báo.. là sao vậy ..
Giải thích với Very Happy
Về Đầu Trang Go down
Xem lý lịch thành viên http://itworld.4rumer.com
hotboy


avatar

Thú CƯng :
Nam Aries

Số bài viết : 705
Điểm : 1043
Được cảm ơn : 9
Ngày sinh : 21/03/1990
Tham gia ngày : 13/05/2010
Tuổi : 28
Đến từ : BDU

Bài gửiTiêu đề: Re: giải trí với lập trình   28/6/2011, 21:30

ctbn.bdu đã viết:
Không hiểu ở câu
Trích dẫn :
sonpipi(b);
Không thấy biến nó.. chỉ thấy nó khai báo.. là sao vậy ..
Giải thích với Very Happy

biến nào Shocked
khai báo cái gì Shocked
hỏi như thế ai biết đường mà trả lời Shocked
Shocked Shocked Shocked Shocked Shocked Shocked Shocked Shocked Shocked Shocked Shocked
Về Đầu Trang Go down
Xem lý lịch thành viên
hotboy


avatar

Thú CƯng :
Nam Aries

Số bài viết : 705
Điểm : 1043
Được cảm ơn : 9
Ngày sinh : 21/03/1990
Tham gia ngày : 13/05/2010
Tuổi : 28
Đến từ : BDU

Bài gửiTiêu đề: Re: giải trí với lập trình   30/6/2011, 12:45

update thêm câu hỏi nữa nèh Twisted Evil

chỉ ra lỗi tiềm ẩn trong đoạn code dưới đây (lỗi tiềm ẩn là lỗi mà khi
developer phát triển code lên sẽ xảy ra lỗi, hoặc là những lỗi chỉ xảy
ra trong một vài môi trừong đặc biệt, thông thừong để tìm ra được các
lỗi tiềm ẩn rất khó khăn, đòi hỏi phải thật sự là 1 expert mới có thể
tìm ra vì trong C/C++ phức tạp ở con trỏ và phần lớn kiểu dữ liệu không
thể tự động gom rác ...)

Code:
template<typename T> class CLassMain
{
 public:
    CLassMain(unsigned arraySize):dataXXX(0), sizeXXX(arraySize)
    {
        if(sizeXXX > 0)
            dataXXX = new T[sizeXXX];
    }

    ~CLassMain()
    {
        if(dataXXX) delete[] dataXXX;
    }

    void setValue_XXX(unsigned index, const T& value)
    {
        if(index < sizeXXX)
            dataXXX[index] = value;
    }

    T getValue_SEX(unsigned index) const
    {
        if(index < sizeXXX)
            return dataXXX[index];
        else
            return T();
    }

 private:
    T* dataXXX;
    unsigned sizeXXX;
};
Về Đầu Trang Go down
Xem lý lịch thành viên
that_true

Member Nhiệt Tình


Member Nhiệt Tình
avatar

Thú CƯng :
Nam Scorpio

Số bài viết : 154
Điểm : 187
Được cảm ơn : 0
Ngày sinh : 07/11/1988
Tham gia ngày : 17/09/2010
Tuổi : 29
Đến từ : venus
Ngề nghiệp : catch

Bài gửiTiêu đề: Re: giải trí với lập trình   30/6/2011, 14:05

ctbn.bdu đã viết:
Không hiểu ở câu
Trích dẫn :
sonpipi(b);
Không thấy biến nó.. chỉ thấy nó khai báo.. là sao vậy ..
Giải thích với Very Happy
Nếu mình không nhầm
sopipi() này là 1 hàm!
Và hàm này sẽ được bạn viết trong phần "..."
Về Đầu Trang Go down
Xem lý lịch thành viên phamminhan_gl@yahoo.com
hotboy


avatar

Thú CƯng :
Nam Aries

Số bài viết : 705
Điểm : 1043
Được cảm ơn : 9
Ngày sinh : 21/03/1990
Tham gia ngày : 13/05/2010
Tuổi : 28
Đến từ : BDU

Bài gửiTiêu đề: Re: giải trí với lập trình   30/6/2011, 18:58

đúng zậy, hàm đó mình tự viết Surprised
mới update câu mới đó ai làm thử xem
Về Đầu Trang Go down
Xem lý lịch thành viên
Sponsored content




Bài gửiTiêu đề: Re: giải trí với lập trình   

Về Đầu Trang Go down
 

giải trí với lập trình

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
IT World! :: GÓC THƯ GIẢN :: Đố Vui-