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

Đề tài: Lại bài tập xếp gạch, mọi người vào giúp nha

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

    Mặc định Lại bài tập xếp gạch, mọi người vào giúp nha

    Mình đang cần viết một chương trình xếp gạch, đã viết bài trong cùng bài của bạn Dang'_Xuyen' nhưng bị mod del bài nên post lại nhờ mọi người giúp nhé.
    Mình cần vẽ một chương trình xếp một chồng gạch như sau, sử dụng C hoặc C++ đều được.

    Vấn đề không phải là vẽ chồng gạch này mà phải tạo một chương trình nhập vào số n (như trên thì n = 6). Sau đó xếp n viên gạch ở đáy, tiếp tục n-1 viên ở hàng trên, cuối cùng là 1 viên. Các viên gạch có thể thay đổi kích thước, cần 4-5 kích thước tùy vào số n lớn hay nhỏ. ngoài ra thì phải cho các viên gạch rơi từ trên xuống xếp lần lượt từ trái sang phải.
    Có bạn nào biết thì giúp mình nhé, mình mới năm đầu học lập trình mà chưa được học gì về đồ họa cả. Nếu không có thời gian viết code thì các bạn gợi ý về thuật toán giải bài này cũng được. Thanks

  2. #2
    Ngày gia nhập
    11 2008
    Bài viết
    1

    Trích dẫn Nguyên bản được gửi bởi meeokon Xem bài viết
    Mình đang cần viết một chương trình xếp gạch, đã viết bài trong cùng bài của bạn Dang'_Xuyen' nhưng bị mod del bài nên post lại nhờ mọi người giúp nhé.
    Mình cần vẽ một chương trình xếp một chồng gạch như sau, sử dụng C hoặc C++ đều được.

    Vấn đề không phải là vẽ chồng gạch này mà phải tạo một chương trình nhập vào số n (như trên thì n = 6). Sau đó xếp n viên gạch ở đáy, tiếp tục n-1 viên ở hàng trên, cuối cùng là 1 viên. Các viên gạch có thể thay đổi kích thước, cần 4-5 kích thước tùy vào số n lớn hay nhỏ. ngoài ra thì phải cho các viên gạch rơi từ trên xuống xếp lần lượt từ trái sang phải.
    Có bạn nào biết thì giúp mình nhé, mình mới năm đầu học lập trình mà chưa được học gì về đồ họa cả. Nếu không có thời gian viết code thì các bạn gợi ý về thuật toán giải bài này cũng được. Thanks
    đúng là bài tam giác rồi mình nói mấy người kia cứ kêu mình hiểu sai ý lại bảo mình spam

    bạn sẽ cho 1 vòng lặp như thế này , bài ở chỗ kia là hình ngược của nó còn đây là 1 doan vòng lặp để tạo lên kim tự thác , mình chưa pha mầu được
    Code:
     printf("\n Ban muon nhap co bao nhieu tang\n n = ");
    	scanf("%d",&n);
    	for(i=1;i<=n;i++)
    	{
    		printf("\nTang %d \t\t\t",i);
    		for(j=1;j<=i;j++)
    		printf(" * ");
    		printf("\n");
    	}

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

    Đây không hẳn là bài tam giác * đâu. Cần thêm 1 chút nữa.

    Đầu tiên dựa vào n cậu phải tính ra được kích cỡ gạch tương ứng.
    Sau đó, cậu cần canh lề tương ứng và tính tọa độ mỗi viên gạch phụ thuộc vào hàng cột của viên gạch đó.

    Vấn đề cuối cùng, cậu dùng gì để code ?

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Nếu đồ họa thì cái này sẽ dễ hơn một tí, còn nếu dùng text thì hơi khó vì kích thước các viên gạch ko thay đổi được.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  5. #5
    Ngày gia nhập
    11 2008
    Bài viết
    1

    chà lại còn căn cả kich thước nữa cơ ạ . vậy nó ngoài khả năng của em rồi , xin lỗi em ko giúp dc gì

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

    Mặc định Lại bài tập xếp gạch, mọi người vào giúp nha

    nếu ở mode text, có lẽ cậu phải xây dựng hàm drawBrick(int x,int y,int h,int w)

    hàm này có thể làm như sau:

    for(int i = 0;i<h;++i)
    { for(int j = 0;j<w;++j)
    {
    gotoxy(i,j); printf("-");
    }
    gotoxy(i,j); printf("|");
    }

    Nhưng không ổn lắm, trông nó rất xấu.

  7. #7
    Ngày gia nhập
    04 2008
    Bài viết
    336

    Mấy viên gạch trong hình minh họa có kích thước = nhau tất , vậy "kích thước" ở đây là gì ? :|
    code ra gió bão

  8. #8
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Demo một bài luôn cho rồi :

    C Code:
    1. #include <graphics.h>
    2. #include <stdlib.h>
    3. #include <stdio.h>
    4. #include <conio.h>
    5.  
    6. #define WIDTH 50
    7. #define HEIGHT 20
    8.  
    9.  
    10. void DrawBrick(int x,int y,int color)
    11. {
    12.     setfillstyle(1,color);
    13.     bar(x, y, x + WIDTH, y + HEIGHT);
    14.     setlinestyle(1,0,15);
    15.     rectangle(x, y, x + WIDTH, y + HEIGHT);
    16. }
    17.  
    18. int main(void)
    19. {
    20.     int gdriver = DETECT, gmode, errorcode;
    21.     int n;
    22.  
    23.     printf("Nhap n : ");
    24.     scanf("%d",&n);
    25.  
    26.     initgraph(&gdriver, &gmode, "");
    27.  
    28.     errorcode = graphresult();
    29.  
    30.     if (errorcode != grOk)
    31.     {
    32.         printf("Graphics error: %s\n", grapherrormsg(errorcode));
    33.         printf("Press any key to halt:");
    34.         getch();
    35.         exit(1);
    36.     }
    37.  
    38.     int maxx = getmaxx();
    39.     int maxy = getmaxy();
    40.     int x0 = (maxx - WIDTH * n) / 2;
    41.     int y0 = maxy - HEIGHT - (maxy - HEIGHT * n) / 2;
    42.     int x;
    43.  
    44.     for (int i=n;i>0;i--)
    45.     {
    46.         x = x0;
    47.  
    48.         for (int j=1;j<=i;j++)
    49.         {
    50.             DrawBrick(x,y0,12);
    51.             x += WIDTH;
    52.         }
    53.  
    54.         x0 += WIDTH / 2;
    55.         y0 -= HEIGHT;
    56.     }
    57.  
    58.     getch();
    59.     closegraph();
    60.     return 0;
    61. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  9. #9
    Ngày gia nhập
    10 2008
    Bài viết
    12

    Trích dẫn Nguyên bản được gửi bởi 6220119 Xem bài viết
    Mấy viên gạch trong hình minh họa có kích thước = nhau tất , vậy "kích thước" ở đây là gì ? :|
    Kích thước là chiều cao và dài của viên gạch khi thay đổi số n, nếu n>10 chẳng hạn thì viên gạch không thể giữ kích thước lớn như trên được mà phải thu nhỏ lại một chút.
    Code của bạn meoconlongvang chạy trên trình dịch gì vậy bạn?

  10. #10
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Trích dẫn Nguyên bản được gửi bởi meeokon Xem bài viết
    Kích thước là chiều cao và dài của viên gạch khi thay đổi số n, nếu n>10 chẳng hạn thì viên gạch không thể giữ kích thước lớn như trên được mà phải thu nhỏ lại một chút.
    Code của bạn meoconlongvang chạy trên trình dịch gì vậy bạn?
    Cái code của mình chạy trên Borland C++ for DOS
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

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

  1. Sự cố Nhờ mod chuyển giúp bài "Sắp xếp số thứ tự ngay trong bảng của 1 database?" từ MySQL sang MSSQL giúp!
    Gửi bởi hu-xeko trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 1
    Bài viết cuối: 12-03-2012, 07:48 PM
  2. Mới nhập môn khó quá , cần trợ giúp [Vấn đề của bạn cần muốn giúp là gì ?]
    Gửi bởi cuingo212 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 22-10-2011, 08:43 AM
  3. Chương trình giúp một học sinh cấp 1 học phép nhân, xử lý hàm rand, giúp mình với?
    Gửi bởi chankx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 12-05-2009, 08:52 PM
  4. Code giúp add một key vào registry, ai giúp em?
    Gửi bởi olavien trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 12-12-2007, 08:45 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