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

Đề tài: Chương trình in tam giác * trên C

  1. #1
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Exclamation Chương trình in tam giác * trên C

    Mình đang bối rối chỗ viết 1 chương trình in tam giác * có dạng
    *
    * *
    * *
    * * * * * * với chiều cao nhập vào từ bàn phím . Tam giác này ứng với n=4

    Hiện tại mình đã làm dạng
    * *
    *** **
    ***** ***
    Các bạn thử coi

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

    Bà con quen rồi, Mẫu viết tiêu đề điền ngay trước mắt cũng không nhìn luôn

    In Tam giác mà chỉ cho mỗi chiều cao thôi sao? Bài này dễ mà, hình như Pete làm bài giống như thế này ở một Topic trước đó rồi thì phải.
    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!

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

    Cái bài số 1 của bạn pete chả hiểu nó ra làm sao ..> chả thấy logic gì cả .
    Bài số 2 thì dễ rồi , làm cho chạy 1 lượt 3 tham số quét * là xong
    * i cho quét dòng
    * j cho quét tam giác phía trước
    * k cho tam giác phía sau

    None!

  4. #4
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Ối chán thiệt tớ viết 1 đường mà đưa vào diễn đàn hiện ra một nẻo
    Thế này thì toi .
    Ý mình là hiện ra tam giác thế này . Giả sử A là khoảng trắng .
    aaaaa*
    aaaa*a*
    aaa*aaa*
    aa*aaaaa*
    a*aaaaaaa*
    **********
    Đấy tam giác trên là ứng với chiều cao n=6 // có nghĩa là có 6 dòng .
    Pete làm rồi cho mình coi scource đi .

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

    C Code:
    1.  
    2. for ( row = 1 ; row < n ; row ++ )
    3. {
    4.    for ( draw_a = 1 ; draw_a < n - i ; draw_a ++ ) printf("a");
    5.    for ( draw_ask = 1 ; draw_ask <= 2*(i-1)+1 ; draw_ask++ )
    6.      {
    7.          if ( ( draw_ask == 1 ) || ( draw_ask == 2*(i-1)+1 ) ) printf("*");
    8.          else printf("a");
    9.      }
    10. }
    11. for ( ; i < n+1 ; i++ ) for ( draw_ask = 1 ; draw_ask < 2*n ; draw_ask++, printf("*") ) ;

    body là như thế

    Còn lại bạn xử lý nốt nhé ^o^
    None!

  6. #6
    No Avatar
    t2d2c2 Khách

    Mặc định Chương trình in tam giác * trên C

    Trích dẫn Nguyên bản được gửi bởi kidkid
    Mình đang bối rối chỗ viết 1 chương trình in tam giác * có dạng
    *
    * *
    * *
    * * * * * * với chiều cao nhập vào từ bàn phím . Tam giác này ứng với n=4

    Hiện tại mình đã làm dạng
    * *
    *** **
    ***** ***
    Các bạn thử coi
    Nếu chỉ cần chiều cao.Thì nó là tam giác cân.Đỉnh cao nhất là 1 * . Sau đó nở dần ra.
    Bài này là tam giác cân nên ý tưởng cũng đơn giản,nó tập cho bạn use vòng lập for thôi.
    Bạn dùng các vòng lập for lồng vào nhau.
    - Cho 1 biến i chẳng hạn,chạy từ 1 đến n ( chiều cao ).
    - Một biến j chạy thừ 1 đến < i .
    - Sau đó in ra * vào khoảng trắng thích hợp.
    ==========================
    Bài này đơn giản,bạn tự code nha.

    ++++++++++++++++++++++
    + Mới học C nửa ngày. +
    + HVA Exploitation. +
    ++++++++++++++++++++++
    Đã được chỉnh sửa lần cuối bởi t2d2c2 : 22-11-2006 lúc 05:36 PM.

  7. #7
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Gởi Pete : Pe te có thể giải thích cho mình được không mình không hiểu sao khi biên dịch lại chạy không chính xác vả lại mình cũng không rõ lắm về ý nghĩa của code trên

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

    Bạn nên đưa các hình vào tag code thì nó mới giữ được vị trí, nếu không người trả lời sẽ bị nhầm.(Dreaminess cũng bị nhầm)

    Làm như code của Pete cũng được, nhưng đã sử dụng quá nhiều vòng lặp for.

    Ở đây Dreaminess giúp bạn làm việc chỉ với 1 vòng lặp mà thôi. Xem nhé:

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. int main()
    4. {
    5.     int i,n;
    6.     printf("Nhap n: ");
    7.     scanf("%d",&n);
    8.    
    9.     for(i=1;i<=n;i++)
    10.     {
    11.         { /*<--Khối này dùng để in cạnh tam giác */
    12.             gotoxy(n-i+1,i+3);
    13.             putchar('*');
    14.             gotoxy(i+n-1,i+3);
    15.             putchar('*');
    16.         }
    17.        
    18.        /*Phần còn lại là in đáy */
    19.         gotoxy(i+1,n+3);
    20.         putchar('*');
    21.         gotoxy(n-2+i,n+3);
    22.         putchar('*');
    23.     }
    24.      return 0;
    25. }
    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!

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

    @dreaminess : pete toàn xài Dev-C++ không có thư viện conio.h chuẩn nên không xài được gotoxy() cho nên mới phải vẽ thế kia ^o^
    None!

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

    Uh nhỉ cái thằng gotoxy() nó lại là của conio.h, nếu dùng VC++6 cũng không có. Nhưng không sao, sau đây Dreaminess vẽ ra một cách nữa, mà có thể compiling bằng bất cứ Compiler nào. Xem nhé

    C Code:
    1. #include<stdio.h>
    2. int main()
    3. {
    4.     int i,j,n;
    5.     printf("Nhap n: ");
    6.     scanf("%d",&n);
    7.    
    8.     for(i=1;i<=n;i++)
    9.     {
    10.         for(j=1;j<=n+i-1;j++)
    11.         {
    12.         if(i==n) /* Nếu là đáy */
    13.             putchar('*');
    14.             else if((n+1==i+j)||(n-1==j-i)) /*Để in cạnh*/
    15.                    putchar('*');
    16.                else
    17.                    putchar(' ');
    18.         }
    19.         putchar('\n');
    20.     }
    21.      return 0;
    22. }

    Trông cũng khá chứ nhỉ?

    @Pete: Vẫn đang nghiên cứu cái bài Text_game đó, nhưng mà chưa nghĩ ra cách làm hiệu quả, đành ngồi làm bài này giải trí vậy. Biết đâu lại tìm được cái gì đó? Nhưng mà lần này thì không. Chuối.
    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. Lập trình C++ lỗi khi viết trên dev c, còn trên cfree chạy bình thường
    Gửi bởi truongvantri trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 26-10-2013, 03:34 PM
  2. Trả lời: 30
    Bài viết cuối: 15-02-2012, 07:03 PM
  3. Lập trình Socket trên C++ có thể giao tiếp chương trình Java trên Server được ko các
    Gửi bởi jacobkruse trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 18-11-2010, 11:10 PM
  4. Source code build trên Ubuntu có chạy được Trên Linux Kernel không ?
    Gửi bởi trần trân trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 0
    Bài viết cuối: 03-11-2010, 09:22 AM
  5. Lưu dữ liệu để trống trên một cell của datagirdview trên csdl Access như thế nào?
    Gửi bởi hvcuongit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 27-05-2009, 04:21 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