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

Đề tài: vẽ tam giác vuông rỗng ko ngược trong C !

  1. #1
    Ngày gia nhập
    09 2011
    Bài viết
    4

    Mặc định vẽ tam giác vuông rỗng ko ngược trong C !

    mọi người xem kỹ nhé bài này chỉ cho sử dụng các mã if và for thui ko sử dụng các mã khác để viết !

    -------*
    ------**
    ----*--*
    ---*---*
    --*****


    để bài là nhập vào n dòng và in ra hình tam giác với n dòng các dấu * như trên vd với n=5

    mọi người giúp đỡ nghe
    Đã được chỉnh sửa lần cuối bởi stlovehk : 07-09-2011 lúc 11:18 PM.

  2. #2
    Ngày gia nhập
    01 2011
    Nơi ở
    -Mountain-
    Bài viết
    768

    Trích dẫn Nguyên bản được gửi bởi stlovehk Xem bài viết
    mọi người xem kỹ nhé bài này chỉ cho sử dụng các mã if và for thui ko sử dụng các mã khác để viết !

    --------*
    -------**
    ------*-*
    -----*--*
    ---*****

    để bài là nhập vào n dòng và in ra hình tam giác với n dòng các dấu * như trên vd với n=5

    mọi người giúp đỡ nghe
    Tặng bạn code chúc học tốt
    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. int main ()
    4. {
    5.     int i, n, k, j;
    6.     printf ("Nhap n: "); scanf ("%d", &n);
    7.     for ( i = n; i > 0; i --)
    8.     {
    9.         printf ("\n");
    10.         for (j = i - 1; j > 0; j --)
    11.             printf (" ");
    12.         for (k = i-j -1; k < n; k ++)
    13.             printf ("*");
    14.     }
    15.     return 0;
    16. }
    Hướng dẫn C++: https://www.youtube.com/watch?v=BwLodoQdoY4&list=PL1c9Uxlo-mplJDRGdONNupgo5OCBTyGGn

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

    Trích dẫn Nguyên bản được gửi bởi beautifulsoul84hung Xem bài viết
    Tặng bạn code chúc học tốt
    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. int main ()
    4. {
    5.     int i, n, k, j;
    6.     printf ("Nhap n: "); scanf ("%d", &n);
    7.     for ( i = n; i > 0; i --)
    8.     {
    9.         printf ("\n");
    10.         for (j = i - 1; j > 0; j --)
    11.             printf (" ");
    12.         for (k = i-j -1; k < n; k ++)
    13.             printf ("*");
    14.     }
    15.     return 0;
    16. }
    Bài của bạn là in ra tam giác đặc rùi bài này có thể làm nhanh hơn vs 3 biết mà mình hỏi là hỏi cái tam giác rỗng ý

    Code:
     {
    	 for(i=0;i<n;i++)
    		{
    		for(j=n-1;j>i;j--)
    		printf(" ");
    		for (j=0;j<(i+1);j++)
    		printf("*");
    		printf("\n");
    		}
    	 }
    mã này in ra tam giác giống bạn nà !

  4. #4
    Ngày gia nhập
    01 2011
    Nơi ở
    -Mountain-
    Bài viết
    768

    Trích dẫn Nguyên bản được gửi bởi stlovehk Xem bài viết
    Bài của bạn là in ra tam giác đặc rùi bài này có thể làm nhanh hơn vs 3 biết mà mình hỏi là hỏi cái tam giác rỗng ý

    Code:
     {
    	 for(i=0;i<n;i++)
    		{
    		for(j=n-1;j>i;j--)
    		printf(" ");
    		for (j=0;j<(i+1);j++)
    		printf("*");
    		printf("\n");
    		}
    	 }
    mã này in ra tam giác giống bạn nà !
    Thử cái này xem

    C Code:
    1.  
    2. #include <stdio.h>
    3.  
    4. int main ()
    5. {
    6.     int i, n, k, j;
    7.     printf ("Nhap n: "); scanf ("%d", &n);
    8.     for ( i = n; i > 1; i --)
    9.     {
    10.         printf ("\n");
    11.         for (j = i - 1; j > 0; j --)
    12.             printf (" ");
    13.         printf ("*");
    14.         for (k = i-j -1; k < n-2; k ++)
    15.             printf ("-");
    16.         if (i < n)
    17.         printf ("*");
    18.     }
    19.     printf ("\n");
    20.     for (i = 0; i < n; i ++)
    21.         printf ("*");
    22.     return 0;
    23. }
    Hướng dẫn C++: https://www.youtube.com/watch?v=BwLodoQdoY4&list=PL1c9Uxlo-mplJDRGdONNupgo5OCBTyGGn

  5. #5
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Theo phân tích thì cái tam giác vuông rỗng này chỉ là một nửa hình vuông.
    Như vậy chỉ cần vẽ đường chéo, cạnh bên phải và đáy hình vuông.

    Thực hiện bằng 2 vòng lặp i và j (1 tới n)
    Khi j==i hoặc j==n hoặc i==n thì in '*' không thì in dấu trống.

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

    Red face vẽ tam giác vuông rỗng ko ngược trong C !

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Theo phân tích thì cái tam giác vuông rỗng này chỉ là một nửa hình vuông.
    Như vậy chỉ cần vẽ đường chéo, cạnh bên phải và đáy hình vuông.

    Thực hiện bằng 2 vòng lặp i và j (1 tới n)
    Khi j==i hoặc j==n hoặc i==n thì in '*' không thì in dấu trống.
    mình nghĩ là 3 và mình đã thực hiện thành công Cám ơn
    beautifulsoul84hung nhé nhưng hum qua nhờ cái 3 biến tạo tam giác của ông tui đã là thêm 1 biến nữa và đã xong rui quên ko check bài kia xem thế nào
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. void main()
    4. {
    5.     int i,j,n,k;
    6.     printf("Nhap n");scanf("%d",&n);
    7.     for (i=0;i<n;i++)
    8.         {
    9.         for (j=n-1;j>i;j--)
    10.         printf(" ");
    11.         for (j=0;j<n;j++)
    12.             if (j==n-1||i==n-1)
    13.             printf("*");
    14.         for (k=0;k<=n;k++)
    15.             if ((k==i-1)&&(k!=n-2)) printf("*");
    16.             else printf(" ");
    17.         printf("\n");
    18.         }
    19. getch();
    20. }

    mã này cho bạn nào mún vẽ có thể có cách vẽ ngắn hơn nhưng mình tự nghĩ ra mã này !
    Đã được chỉnh sửa lần cuối bởi stlovehk : 08-09-2011 lúc 01:54 PM.

  7. #7
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Lần bót trước mình bị nhầm, đưởng chéo trái thì mới j=j, đường chéo phải thì j=n-i+1

    C Code:
    1. int , j, n=5;
    2. for (i=1, i <= n; i++)
    3. {
    4.   for (j=1, j <= n; j++)
    5.     printf("%c", (j==n || j==n-i+1 || i==n)? '*' : ' ');
    6.   printf("\n");
    7. }

    @stlovehk: trong code của bạn, đếm được 4 từ khóa for

  8. #8
    Ngày gia nhập
    09 2011
    Bài viết
    4

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Lần bót trước mình bị nhầm, đưởng chéo trái thì mới j=j, đường chéo phải thì j=n-i+1

    C Code:
    1. int , j, n=5;
    2. for (i=1, i <= n; i++)
    3. {
    4.   for (j=1, j <= n; j++)
    5.     printf("%c", (j==n || j==n-i+1 || i==n)? '*' : ' ');
    6.   printf("\n");
    7. }

    @stlovehk: trong code của bạn, đếm được 4 từ khóa for
    mã code của ông sai rùi và cũng chỉnh lại cho đúng thì khi chạy CT nó in toàn là số;tôi vừa chạy thử rùi bài của tui và beautifulsoul84hung tuy có hơi nhiều for vì phải chạy 3 biến cái for đầu ko tính vì chắc chắn phải có ! cái for 2 để cách dòng cái for thứ 3 để vẽ cạnh huyền và cạnh đáy còn for cuối vẽ cạnh bên ! hi tui hiểu cách của ông nhưng hiện tại thì phải chạy được cái đã :P
    Đã được chỉnh sửa lần cuối bởi stlovehk : 08-09-2011 lúc 01:55 PM.
    Học => Học Nữa => Học Máu

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

    Xin lỗi, ban sáng gõ vội nên lại bị gõ sai phím.

    C Code:
    1. int i, j, n=5; /// thêm i ở đây
    2. for (i=1; i <= n; i++) // đổi , thành ; ở đây
    3. {
    4.   for (j=1; j <= n; j++) // đổi , thành ; ở đây
    5.     printf("%c", (j==n || j==n-i+1 || i==n)? '*' : ' ');
    6.   printf("\n");
    7. }

    Lần này thì đã có chạy thử.

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

  1. Dạy vẽ móng, vẽ nail chuyên nghiệp
    Gửi bởi marketeronline trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 1
    Bài viết cuối: 14-04-2012, 11:14 AM
  2. Đồ họa trên C++ Hàm vẽ điểm glVertex3f vẽ sai trong openGL?
    Gửi bởi kazat trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 26-03-2012, 08:21 PM
  3. Trả lời: 2
    Bài viết cuối: 24-05-2011, 12:29 AM
  4. Vẽ một bông hoa bằng cách vẽ các elip nghiêng 1 góc G độ với các màu khác nhau?
    Gửi bởi kimhieuqtvn trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 09-04-2011, 02:40 PM
  5. Chế độ tô vẽ và vẽ mượt mà (antialiashing) trong lập trình C#
    Gửi bởi neverland87 trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 24-06-2007, 01:06 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