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ố 12 kết quả

Đề tài: bài tập vẽ hình bằng vòng lặp for..

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

    Mặc định bài tập vẽ hình bằng vòng lặp for..

    em là ma mới..các bác pro giúp em vs..trên này có thì tìm hộ em cũng đc..thanks các bác nhiều lắm..
    Viết ứng dụng vẽ các hình sau:
    1. Hình vuông có cạnh độ dài n (n được nhập vào từ bàn phím)
    Ví dụ n=8
    ********
    ********
    ********
    ********
    ********
    ********
    ********
    2. Hình chữ nhật có chiều rộng n và chiều dài m (n, m được nhập vào từ bàn phím)
    Ví dụ n=16, m=8
    ****************
    ****************
    ****************
    ****************
    ****************
    ****************
    ****************
    3. Hình tam giác vuông cân, cạnh có độ dài n (n được nhập vào từ bàn phím)
    Ví dụ n=8
    *
    **
    ***
    ****
    *****
    ******
    ********
    4. Hình tam giác vuông cân, cạnh có độ dài n (n được nhập vào từ bàn phím)
    Ví dụ n=8
    ********
    *******
    ******
    *****
    ****
    ***
    **
    *
    5. Hình tam giác cân, cạnh đáy có độ dài 2n-1 và chiều cao n (n được nhập vào từ bàn phím)
    Ví dụ n=8
    *
    **
    ***
    ****
    *****
    ******
    *******
    ********
    *******
    ******
    *****
    ****
    ***
    **
    *

    6. Hình thoi, 2 đường chéo có độ dài 2n-1 (n được nhập vào từ bàn phím)
    7. Viết ứng dụng cho phép người dùng nhập vào các số nguyên. Khi người dùng nhập vào số 0 thì
    chương trình in ra số lớn nhất và thoát.
    8. Viết ứng dụng cho phép người dùng nhập vào các số nguyên. Khi người dùng nhập vào số 0 thì
    chương trình in ra số chắn lơn nhất và thoát.
    9. Viết ứng dụng cho phép người dùng nhập vào các số nguyên. Khi người dùng nhập vào số 0 thì
    chương trình thoát, còn không thì in ra số đó nếu số đó lớn hơn 10
    10. Hình ông sao đều 5 cánh có độ dài mỗi cánh là n (n được nhập vào từ bàn phím).

  2. #2
    Ngày gia nhập
    01 2011
    Nơi ở
    \WINDOWS\Assembly\
    Bài viết
    54

    Bài 1: mình gợi ý là cho 2 vòng lập for lồng nhau:
    C Code:
    1. for (i = 0; i < n; ++i)
    2.    for (j = 0; j < n; ++j){ ... }

    Bài 2: tương tự nhưng sửa lại vòng thứ nhất là m
    C Code:
    1. for (i = 0; i < m; ++i)
    2.    for (j = 0; j < n; ++j){ ... }

    Bài 3:
    C Code:
    1.     for (i = 0; i < n; ++i)
    2.     {
    3.         for (j = 0; j <= i; ++j)
    4.         {
    5.             printf("*");
    6.         }
    7.         printf("\n");
    8.     }

    Bài 4: Ngược lại của bài 3

    Bài 5: Kết hợp cả bài 4 & 3

    Những bài còn lại bạn tự suy nghĩ nhé. Cứ cố gắng code đừng lười. Làm nhiều thì sẽ giỏi.
    Chúc bạn may mắn.

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

    mình muốn vẽ tam giác có cạnh bên phải cơ
    ai bít gợi ý cho mình với
    *
    **
    ***
    ****
    *****

    *
    **
    * *
    * *
    *****
    hình trên căn phải nhé ko phải căn trái đâu
    tại cái này nó tự căn trái đấy

  4. #4
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    dạo này găp pài này n hen kaka
    phân tik nhá.(ví dụ vs h=5)
    ở dòng 0:_ _ _ _ * ( mình cách ra cho dễ nhìn thôi ngen) * in ở vị trí n-1 và có 1 *
    ở dòng 1:_ _ _ * * tương tự có 2 * và ở vị trí n-2 trở lên
    ở dòng 2:_ _ * * * " "
    ở dòng 3:_ * * * * " "
    ở dòng 4:* * * * *
    thêm biến đếm để ktra thêm số * cần in ra, ktra vtrí cần in và alehấp
    HT117-5277

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

    mình muốn dùng vòng lặp for để ct tự điền * tùy theo số lượng mà mình nhập vào
    và 1 hình tam giác rỗng ở trong nữa
    treatmaster chỉ mình với
    mình ko học tự nhiên mình đang học ở aptech

  6. #6
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    Mặc định bài tập vẽ hình bằng vòng lặp for..

    Trích dẫn Nguyên bản được gửi bởi cuchuoiso01 Xem bài viết
    mình muốn dùng vòng lặp for để ct tự điền * tùy theo số lượng mà mình nhập vào
    và 1 hình tam giác rỗng ở trong nữa
    treatmaster chỉ mình với
    mình ko học tự nhiên mình đang học ở aptech

    vẽ hình tam rỗng là tam giác cân.đường cao cắt tại trung điểm của cạnh đáy.
    ở dòng thứ 1 * in ở ngay đường cao.
    ở dòng thứ 2 * sẽ in đối xứng qa đường cao và in 2 *
    các dòng còn lại tương tự
    tới dòng cuối cùng thì sẽ in * hết.
    pn cứ mô tả việc làm trước rồi sẽ vít code được thôi
    HT117-5277

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

    Trích dẫn Nguyên bản được gửi bởi cuchuoiso01 Xem bài viết
    mình muốn vẽ tam giác có cạnh bên phải cơ
    ai bít gợi ý cho mình với
    *
    **
    ***
    ****
    *****

    *
    **
    * *
    * *
    *****
    hình trên căn phải nhé ko phải căn trái đâu
    tại cái này nó tự căn trái đấy
    Chịu khó vẽ hình ra giấy rồi phân tích một chút.

    Code:
     dùng i để đi theo dòng, j để đi theo cột
    
        * i = 1: in ' ', in '*' khi j = 5 (j >= n)
       ** i = 2: in ' ', in '*' khi j >= 4 (j >= n-1)
      *** i = 3: in ' ', in '*' khi j >= 3 (j >= n-2)
     ****
    *****
    
    Như vậy, ở mọi dòng i, in ' ', in '*' khi j >= n-i+1
    
    for (i=1; i <= n; i++)
    {
      for (j=1; j <= n; j++)  printf("%c", (j >= n-i+1)? '*' : ' ');
      printf("\n");
    }
    
        * i = 1: in ' ', in '*' khi j = 5
       ** i = 2: in ' ', in '*' khi j = 4 hoặc j = 5 (j == n || j == n-1)
      * * i = 3: in ' ', in '*' khi j = 3 hoặc j = 5 (j == n || j == n-2)
     *  *
    *****
    
    Như vậy, ở mọi dòng i, in ' ', in '*' khi (j == n || j == n-i+1)
    
    for (i=1; i <= n; i++)
    {
      for (j=1; j <= n; j++)  printf("%c", (j == n || j == n-i+1)? '*' : ' ');
      printf("\n");
    }
    Tam giác cân, tam giác ngược vân vân đều theo nguyên tắc vẽ lên giấy rồi phân tích theo dòng i và cột j

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

    Code của bạn đây
    Đây là tam giác đặc canh phải:
    Code:
    #include <stdio.h>
    #include <conio.h>
    
    void main()
    {
        int i,j,h;
    	printf("Nhap vao chieu cao cua tam giac: ");
    	scanf("%d",&h);
    	for(i=1;i<=h;i++){
    		for(j=0;j<h-i;j++)
    			printf(" ");
    		for(j=0;j<i;j++)
    			printf("*");
    		printf("\n");
    	}
        
    	getch();
    }
    Còn đây là in tam giác rỗng canh phải
    Code:
    #include <stdio.h>
    #include <conio.h>
    
    void main()
    {
        int i,j,h;
    	printf("Nhap vao chieu cao cua tam giac: ");
    	scanf("%d",&h);
        for(i=1;i<=h;i++){
    		for(j=0;j<h-i;j++)
    			printf(" ");
    		for(j=0;j<i;j++)
    			if(i==1||i==h||j==i-1||j==0) printf("*");
    			else printf(" ");
    		printf("\n");
    	}
    	getch();
    }

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

    Trích dẫn Nguyên bản được gửi bởi taller Xem bài viết
    Bài 1: mình gợi ý là cho 2 vòng lập for lồng nhau:
    C Code:
    1. for (i = 0; i < n; ++i)
    2.    for (j = 0; j < n; ++j){ ... }

    Đề bài là hình vuông mà,phải là:
    C Code:
    1. for(i=0;i<=n;i++)
    2. for(j=0;j<=2*n;j++)

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. void main()
    4. {
    5.    int n,i,j;
    6.    clrscr();
    7.    printf("Nhap chieu cao n=");
    8.    scanf("%d",&n);
    9.    for(i=0;i<n;i++)
    10.    {
    11.          for(j=n-1;j>i;j--)     printf(" ");
    12.          for(j=0;j<2*i+1;j++)   printf("*");
    13.          printf("\n");
    14.    }
    15.    getch();
    16. }

    C Code:
    1. #include<stdiio.h>
    2. #include<conio.h>
    3. void main()
    4. {
    5.    int n,i,j;
    6.    clrscr();
    7.    printf("Nhap chieu cao n=");
    8.    scanf("%d",&n");
    9.   for(i=1;i<=n;i++)
    10.      {
    11.         for(j=1;j<=2*i;j++)
    12.         printf("*");
    13.         printf("\n");
    14.       }
    15.   getch();
    16. }

  10. #10
    Ngày gia nhập
    05 2010
    Nơi ở
    In my heart /Hà Nội VietNam Capital
    Bài viết
    27

    Hix sao bạn code hay thế . Mình thấy khó hiểu quá . Sao mình làm đoạn
    C Code:
    1.       for(i=1;i<=n;i++)
    2.       {
    3.          for(j=1;j<=2*i;j++)
    4.          printf("*");
    5.          printf("\n");
    6.        }
    thành
    C Code:
    1.       for(i=1;i<=n;i++)
    2.       {
    3.          for(j=1;j<=2*i;j++)
    4.         {
    5.           printf("*");
    6.          printf("\n");      
    7.         }
    8.        }
    Mà code cũng sai hoàn toàn vậy . Mình không hiểu tác dụng của 2 cái {} trong đoạn này .

    À mình hiểu rồi . Vòng for nếu không có { } thì nó sẽ chỉ nhận 1 command đằng sau , còn nếu có {} thì nó sẽ nhận cả hiển thì vs xuống dòng .
    Start from beginning .
    Your life is what you do daily and weekly .

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. nhập vào 1 kí tự. dùng vòng lặp để vẽ hình Trái Tim bằng mỗi kí tự đó
    Gửi bởi thantaithieugia trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 10-12-2011, 06:05 PM
  3. Lập trình C++ giá trị của xâu trong vòng lặp và ngoài vòng lặp khác nhau
    Gửi bởi virus93ttll trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 17
    Bài viết cuối: 14-05-2011, 02:43 PM
  4. Cách vẽ trái tim bằng Vòng For() trong C!!!
    Gửi bởi tuan88hy 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: 17-11-2010, 03:39 PM
  5. Bài tập vòng lặp | Vẽ tam giác số trên C?
    Gửi bởi shivabt 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: 06-03-2010, 01: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