Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 26 kết quả

Đề tài: [C] 1 bài căn bản của lập trình C

  1. #1
    No Avatar
    god_is_me_1st Khách

    Question [C] 1 bài căn bản của lập trình C

    Chào các sư huynh, em mới bắt đầu nhập môn lập trình. Xin nhờ giúp đỡ em bài này
    Nhập 1 số n, kiểm tra số đó có phải là số đối xứng hay ko?
    (chỉ dùng các hàm cơ bản là if và while thôi)
    Cám ơn các anh.

  2. #2
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Số đối xứng là số gì thế ?
    None!

  3. #3
    No Avatar
    god_is_me_1st Khách

    vd của số đối xứng là: số mà đọc từ trái qua cũng giống như đọc từ phải qua
    vd 123321; 171 ; 98899889

  4. #4
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    1. Check xem số này chẵn hay lẻ
    2. Cưa đôi số ra làm 2 phần : đầu và đuôi , nếu lẻ thì bỏ số giữa đi hoặc lấy cũng được
    3. Chuyển vị các chữ số đầu thành đầu_mới ^_^
    4. So sánh đầu_mới và đuôi nếu = nhau thì đối xứng

    Pseudocode như vậy ..
    None!

  5. #5
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,749

    Cái này đưa số nhập vào dạng chuỗi thì làm dễ và có nhiều cách làm:

    Dreaminess thấy không cần cắt và chỉ cần cho for(,,,) chạy từ đầu chuỗi tới leng(chuỗi)/2 thôi và tiến hành so sánh đầu cuối là được

    Nếu cắt chuỗi như pete nói(có xét độ dài chẵn, lẻ) thì ta đảo chuỗi thứ 2 và so sánh với chuỗi thứ nhất, trùng thì là đối xứng, không thì không đối xứng


    Dreaminess vừa mới nghĩ ra một bài khác từ bài này : Làm thế nào mà khi đưa một số vào (không phải đưa vào dạng chuỗi, hay chuyển thành chuỗi) ta vẫn có thể xét được tính đối xứng? Mong mọi người giúp
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  6. #6
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Mặc định [C] 1 bài căn bản của lập trình C

    Nếu cast về chuỗi thì so sánh đối xứng dễ hơn là of course
    >> thành bài toán : kiểm tra tính đối xứng chuỗi
    None!

  7. #7
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    A simple of symmetric string

    Code:
    #include <stdio.h>
    int main(void)
    {
         char st[100];
         int i = 0 , j;
         
         printf("\n Input number or string : ");gets(st);
         j = strlen(st) - 1;
         while( st[i++] == st[j--] ) ;
         if ( --i >= ++j ) printf("\n Symmetric integer ");
         else printf("\n It\'s not ");
         
         return 0;
    }
    None!

  8. #8
    Ngày gia nhập
    10 2006
    Nơi ở
    Rừng Amazon
    Bài viết
    101

    Giả sử như chúng ta cần giải quyết bài toán có 1 số ở dạng số, cần kiểm tra xem số đó có đối xứng hay không.

    Ta sẽ giải quyết bài toán nhỏ trước: tìm xem số đó có bao nhiêu chữ số.
    Sau đó ta dùng 1 stack, bắt đầu từ số hàng đơn vị, ta nạp vào stack. Công việc tiến hành như vậy sau khi ta đã nạp số ở giữa vào stack (điều này biết được do ta biết số chữ số và ta biết số phần tử của stack).
    Tiếp đó, ta tiến hành lấy các số tiếp theo và so sánh với phần tử ở đỉnh stack,nếu = nhau thì loại bỏ và tiếp tục so sánh,nếu khác nhau thì kết luận : không đối xứng.
    Sau khi hết số (đồng nghĩa với stack empty), ta kết luận số đối xứng.

    Nếu tổ chức khéo thêm chút nữa có thể kết hợp để chuyển số này thành xâu luôn.

  9. #9
    No Avatar
    god_is_me_1st Khách

    Mình là gà mới học lập trình, mời anh em coi thử xem chương trình mình viết đúng ko dùm nha
    Code:
    #include <stdio.h>
    #include <conio.h>
    void main ()
    {
    	int n,t,e,r,flag;
    	scanf ("%d",&n);
    	t=n;
    	q=1;
    	flag=1;
    	while (t!=0)
    	{
    		t=t/10;
    		q=q*10;
    	}
    	while(t>=10)
    	{
    		e=t/q;
    		r=t%10;
    		t=(t%q)/10;
    		if (e!=r) flag=0;
    		q=q/100;
    	}
    	if (flag==0)
    	printf ("So ko doi xung");
    	else printf ("so doi xung");
    	getch ();
    }

  10. #10
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,749

    @Tarzan, nếu đưa số về chuỗi rồi xử lý, như thế không còn thú vị nữa. Bài này xử lý theo chuỗi là dễ nhất.

    @ God is me 1st: Ý tưởng của bạn khá hay, nhưng mà chỗ lấy flag này:

    Code:
    while(t>=10)
    	{
    		e=t/q;
    		r=t%10;
    		t=(t%q)/10;
    		if (e!=r) flag=0;
    		q=q/100;
    	}
    Dreaminess thấy không ổn, xem lại coi.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

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

  1. Căn hộ chung cư Times City căn hộ đẹp giá siêu rẻ, giao nhà ngay
    Gửi bởi ephat245 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 16-11-2012, 01:50 PM
  2. Chính chủ bán căn hộ chung cư xala CT8C căn số 02 và căn số 30
    Gửi bởi nguyenhabds trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 25-08-2012, 10:42 AM
  3. Chung cư green city, căn hộ 505 minh khai, căn góc, vị trí đẹp, giá ưu đãi
    Gửi bởi ephat_tt86 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 09-01-2012, 01:46 PM
  4. ! Chung cư lõi linh đàm, căn hộ green life căn VP4 diện tích 112.7m2. giá chênh thấp
    Gửi bởi ephat_tt86 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 20-12-2011, 08:53 AM
  5. ! Chung cư lõi linh đàm, căn hộ green life căn VP4 diện tích 112.7m2. giá chênh thấp
    Gửi bởi ephat_tt86 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 20-12-2011, 08:26 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