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

Đề tài: Lập trình C# | Tạo tam giác vuông cân với một số cho trước?

  1. #1
    Ngày gia nhập
    04 2009
    Bài viết
    21

    Mặc định Lập trình C# | Tạo tam giác vuông cân với một số cho trước?

    Đề ví dụ cho h =4 là giá trị nhập từ bàn phím khi nhập vô trên màn hình xuất ra sẽ có hình tam giác vuông cân như sau :

    *
    **
    ***
    ****
    Mình dùng 2 hàm for lồng vô để làm nhưng vấn đề xảy ra là nó không tạo ra hình tam giác mà tạo ra 4 dấu chấm hàng dọc bó tay !@ Bạn nào giúp được thì show code và giải thích giúp nhé !

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

    Xong:
    PHP Code:
    #include<iostream.h>
    #include<conio.h>
    #include<stdlib.h>

    int main()
    {
        
    int n;
        
    printf("Nhap vao so n: ");
        
    scanf("%d",&n);
        
        for(
    int i=n-1;i>=0;i--)
        {
            for(
    int j=i;j<n;j++)
                
    printf("*");
                
    printf("\n");
        }
        
        
    getch();

    Tôi tin rằng: giải thuật thì có thể tìm trong hàng trăm GB ebook, hoặc Google nhưng code chạy thì chưa chắc! Hãy post code để chứng tỏ giải thuật của bạn là đúng!
    Giải thuật là bản thiết kế của ngôi nhà, code là phần xây dựng. Nếu chỉ xây nhà trên giấy thì ta sống chả khác nào người nguyên thủy.

  3. #3
    Ngày gia nhập
    01 2008
    Bài viết
    148

    Post sai địa chỉ rồi thì phải,C# mà ta
    những bài thế này bạn nên tự suy nghĩ giải thì tốt hơn.Vì nó sẽ tốt cho tư duy giải thuật của bạn
    bài này của mình
    Visual C# Code:
    1. System.Console.WriteLine("Hay Nhap vao n:");
    2.             int n = int.Parse(System.Console.ReadLine());
    3.             for (int i = 0; i < n; i++)
    4.             {
    5.                 for (int j = 0; j <= i; j++)
    6.                     System.Console.Write("*");
    7.                 System.Console.WriteLine();
    8.             }

  4. #4
    Ngày gia nhập
    04 2009
    Bài viết
    21

    Cho mình hỏi 2 dòng
    PHP Code:
    System.Console.Write("*");//dòng này hiện dấu * ra mình đã hiểu 
    System.Console.WriteLine();//dòng này để làm gì ạ 
    Em đã hiểu sự khác nhau giửa Write và WriteLine khi lặp lần for thứ 1 nó sẽ lập từ 0 > số mình nhập nhưng nếu xuất ra màn hình thì chỉ ra 5 cái cấm ngang hoặc dọc là tùy theo mình làm Write hay writeline ! rồi vòng lặp thứ 2 nó chặn lại lặp thêm lần nữa với một số i đã lặp trước ví dụ vòng lặp for 1 chạy lần 1 từ 0>1 nghĩa là 1 i =1 có 1 dấu sao vòng lặp 2 sẽ lặp từ 0 > i nghĩa là i cũng lại =1 sau đó hiện 1 dấu sao đầu tiên đến lần lặp 2 là có 2 dấu sao nhưng nếu viết Writeline nó sẽ hien 2 dau sao o 2 dong khác nhau con neu viet write nó sẽ hiện cùng dòng ! Em nói vậy khogn bít đúng ko hi !

    Dưới đây là code em làm hoàn chỉnh post lên lun cho các bạn mới tham khảo!
    PHP Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace 
    ConsoleApplication1
    {
        class 
    Program
        
    {
            static 
    void Main(string[] args)
            {
                
    int h;
                
    tieptuc:     
                
    Console.WriteLine("Hay nhap vao chieu cao cua tam giac:");
                
    int.TryParse(Console.ReadLine(), out h);
                if (
    80)
                {
                    for (
    int i 0hi++)
                    {
                        for (
    int j 0<= ij++)
                            
    Console.Write("*");
                        
    Console.WriteLine();
                    }
                    
    Console.ReadLine();                
                }
                else
                {
                    
    Console.WriteLine("\nBan phai nhap mot so be hon 80 de tam giac duoc hien thi dung !\n\n");
                }
                goto 
    tieptuc;
            }
        }

    Thêm nữa em mún làm theo dạng form cái bài này thì phần hiển thị em phải làm sao để gán giá trị của j =* rồi sau đó xuất ra textbox ạ ! Em đang thắc mắc chỗ đó em làm phía dưới không ra mong anh em chỉ tí !

    PHP Code:
    private void button1_Click(object senderEventArgs e)
            {
                try
                {
                    
    int h;
                    
    int.Parse(textBox1.Text);
                    if (
    10)
                    {
                        for (
    int i 0<= hi++)
                        {
                            for (
    int j 0<= ij++)
                                
    textBox2.Text j.ToString(); //Chỗ này điền sao để gán * vào j và hiển thị hjx hjx ! Mong anh em chỉ giáo !
                        
    }
                    }
                    else
                    {
                        
    MessageBox.Show("Bạn phải nhập số bé hơn 10 để hiển thị đúng !");
                    }
                }
                catch
                {
                    
    MessageBox.Show("Bạn chưa nhập gì cả hoặc nhập sai giá trị số !");
                }
            } 
    Đã được chỉnh sửa lần cuối bởi quangnhut123 : 11-04-2009 lúc 09:05 PM.

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

    Sự khác nhau giửa Write và WriteLine đó là : Write() thì nó xuất ra màn hình cái gì đó nhưng không di chuyễn con trỏ xuống hàng.Nưược lại WriteLine() thì nó sẽ xuất chuổi gì đó sau đó nó sẽ di chuyễn contro xuống hàng .Nếu khong truyền vào tham số chuỗi thì mặc định là không xuất ra cái gì.
    Trích dẫn Nguyên bản được gửi bởi quangnhut123 Xem bài viết
    int h;
    tieptuc:
    Console.WriteLine("Hay nhap vao chieu cao cua tam giac:");
    int.TryParse(Console.ReadLine(), out h);
    if (h < 80)
    {
    for (int i = 0; i < h; i++)
    {
    for (int j = 0; j <= i; j++)
    Console.Write("*");
    Console.WriteLine();
    }
    Console.ReadLine();
    }
    else
    {
    Console.WriteLine("\nBan phai nhap mot so be hon 80 de tam giac duoc hien thi dung !\n\n");
    }
    goto tieptuc;
    ==>bài này củ chuối vậy.Giờ còn sai goto nữa hả.Sao không sài vòng lặp while ... do hoăc do...while mà dùng cái thằng goto.

    còn bài dưới sao bạn lại chon cách dùng TextBox để hiển thị một tam giác gồm các dấu *.như vậy chuối lắm.bạn nên dùng richTextBox cho dễ hoặc tạo ra nhiều Label rồi add nó lên Form tại các vị trí thích hợp....
    Đã được chỉnh sửa lần cuối bởi thanhhuy191188 : 12-04-2009 lúc 08:18 AM.

  6. #6
    Ngày gia nhập
    04 2009
    Bài viết
    21

    Mặc định Lập trình C# | Tạo tam giác vuông cân với một số cho trước?

    AH mình không thích xài vòng lặp nữa bạn à hihi mật lắp xài goto cho rồi ! Còn về cái hiển thị trong richtextbox bạn có thể viết không mình định làm form mà đang gặp vấn đề về hiển thị làm sao gán cái j++ đó cho ký tự * để xuat hien ra richtextbox hjx hjx !

  7. #7
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Đc voi đòi tiên, mọi người đã code cho trong console lại còn muốn làm hộ luôn trong winform. Túm lại là bạn muốn tự code hay xin code
    Cánh Chym ứ mỏi

  8. #8
    Ngày gia nhập
    04 2009
    Bài viết
    21

    mình không đòi code mà mún hỏi chỗ trên đó bạn chỉ cần chỉ làm sao gán cái i để xuất ra * là ok chứ mình đòi code lun form đâu choy bạn thấy rùi mà mình đang làm mà bí chỗ đó gán string bị lỗi !

  9. #9
    Ngày gia nhập
    11 2006
    Bài viết
    633

    Write() thì nó xuất ra màn hình cái gì đó nhưng không di chuyễn con trỏ xuống hàng.
    Chắc hông?
    Write("\n"); thì sao?
    còn bài dưới sao bạn lại chon cách dùng TextBox để hiển thị một tam giác gồm các dấu *.như vậy chuối lắm
    Dùng textbox sao lại chuối. Hiểu giữa textbox và richtextbox khác nhau sao ko?
    AH mình không thích xài vòng lặp nữa bạn à hihi mật lắp xài goto cho rồi
    Vậy học assembly đi cho khoẻ, khỏi lặp khỏi if else gì hết.

  10. #10
    Ngày gia nhập
    04 2009
    Bài viết
    21

    Trích dẫn Nguyên bản được gửi bởi huynguyen Xem bài viết
    Chắc hông?
    Write("\n"); thì sao?

    Dùng textbox sao lại chuối. Hiểu giữa textbox và richtextbox khác nhau sao ko?

    Vậy học assembly đi cho khoẻ, khỏi lặp khỏi if else gì hết.
    Nhưng mà h mình mún biết làm sao gán mà sao không ai nói mà nói toàn ngoài lề vậy mình cần gán * vào j mà không gán thì sao nó hiện trong textbox mình mới học hỏi nhìu tí thôi @ Còn học ASM mình không học đâu mình học C# thôi nhưng thích xài goto vậy thôi thói quen mà ! Mong mấy bạn giúp đỡ đúng vấn đề mình cần !

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