Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: hỏi về bài toán sắp xếp

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

    Arrow hỏi về bài toán sắp xếp

    các bác giải thích cho e các lệnh được đánh dấu cái.e mới bắt đầu học mong được các bác tận tình giúp đỡ.(ở đoạn cuối cuối bài)
    đây là một bài toán nhập 1 vài thông tin vào textbox sau đó chuyển sang hiển thị bên listbox.rồi sắp xếp các thông tin được hiển thị đó.
    Visual C# Code:
    1. using System;
    2. using System.Drawing;
    3. using System.Collections;
    4. using System.ComponentModel;
    5. using System.Windows.Forms;
    6. using System.Data;
    7.  
    8. namespace sort_0706
    9. {
    10.     /// <summary>
    11.     /// Summary description for Form1.
    12.     /// </summary>
    13.     public class Form1 : System.Windows.Forms.Form
    14.     {
    15.         private System.Windows.Forms.TextBox txt1;
    16.         private System.Windows.Forms.ListBox l1;
    17.         private System.Windows.Forms.Button btn1;
    18.         private System.Windows.Forms.Button btn2;
    19.         private System.Windows.Forms.Button btn3;
    20.         /// <summary>
    21.         /// Required designer variable.
    22.         /// </summary>
    23.         private System.ComponentModel.Container components = null;
    24.  
    25.         public Form1()
    26.         {
    27.             //
    28.             // Required for Windows Form Designer support
    29.             //
    30.             InitializeComponent();
    31.  
    32.             //
    33.             // TODO: Add any constructor code after InitializeComponent call
    34.             //
    35.         }
    36.  
    37.         /// <summary>
    38.         /// Clean up any resources being used.
    39.         /// </summary>
    40.         protected override void Dispose( bool disposing )
    41.         {
    42.             if( disposing )
    43.             {
    44.                 if (components != null)
    45.                 {
    46.                     components.Dispose();
    47.                 }
    48.             }
    49.             base.Dispose( disposing );
    50.         }
    51.  
    52.         #region Windows Form Designer generated code
    53.         /// <summary>
    54.         /// Required method for Designer support - do not modify
    55.         /// the contents of this method with the code editor.
    56.         /// </summary>
    57.         private void InitializeComponent()
    58.         {
    59.             this.txt1 = new System.Windows.Forms.TextBox();
    60.             this.l1 = new System.Windows.Forms.ListBox();
    61.             this.btn1 = new System.Windows.Forms.Button();
    62.             this.btn2 = new System.Windows.Forms.Button();
    63.             this.btn3 = new System.Windows.Forms.Button();
    64.             this.SuspendLayout();
    65.             //
    66.             // txt1
    67.             //
    68.             this.txt1.Location = new System.Drawing.Point(8, 16);
    69.             this.txt1.Name = "txt1";
    70.             this.txt1.TabIndex = 0;
    71.             this.txt1.Text = "";
    72.             //
    73.             // l1
    74.             //
    75.             this.l1.Location = new System.Drawing.Point(208, 0);
    76.             this.l1.Name = "l1";
    77.             this.l1.Size = new System.Drawing.Size(168, 95);
    78.             this.l1.TabIndex = 1;
    79.             //
    80.             // btn1
    81.             //
    82.             this.btn1.Location = new System.Drawing.Point(120, 16);
    83.             this.btn1.Name = "btn1";
    84.             this.btn1.TabIndex = 2;
    85.             this.btn1.Text = ">>";
    86.             this.btn1.Click += new System.EventHandler(this.btn1_Click);
    87.             //
    88.             // btn2
    89.             //
    90.             this.btn2.Location = new System.Drawing.Point(16, 56);
    91.             this.btn2.Name = "btn2";
    92.             this.btn2.TabIndex = 3;
    93.             this.btn2.Text = "Ascending";
    94.             this.btn2.Click += new System.EventHandler(this.btn2_Click);
    95.             //
    96.             // btn3
    97.             //
    98.             this.btn3.Location = new System.Drawing.Point(112, 56);
    99.             this.btn3.Name = "btn3";
    100.             this.btn3.TabIndex = 4;
    101.             this.btn3.Text = "Descending";
    102.             //
    103.             // Form1
    104.             //
    105.             this.AcceptButton = this.btn1;
    106.             this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    107.             this.ClientSize = new System.Drawing.Size(408, 112);
    108.             this.Controls.Add(this.btn3);
    109.             this.Controls.Add(this.btn2);
    110.             this.Controls.Add(this.btn1);
    111.             this.Controls.Add(this.l1);
    112.             this.Controls.Add(this.txt1);
    113.             this.Name = "Form1";
    114.             this.Text = "Form1";
    115.             this.ResumeLayout(false);
    116.  
    117.         }
    118.         #endregion
    119.  
    120.         /// <summary>
    121.         /// The main entry point for the application.
    122.         /// </summary>
    123.         [STAThread]
    124.         static void Main()
    125.         {
    126.             Application.Run(new Form1());
    127.         }
    128.  
    129.         private void btn1_Click(object sender, System.EventArgs e)
    130.         {
    131.             l1.Items.Add(txt1.Text);
    132.             txt1.Text="";
    133.             txt1.Focus();
    134.  
    135.         }
    136. bắt đầu từ đây cho đến hết :
    137.         private void btn2_Click(object sender, System.EventArgs e)
    138.         {
    139.             int n,i;
    140.             n=l1.Items.Count;// gets the number of items in collection
    141.             string [] a= new string[n];
    142.             for (i=0;i<=n-1;i++)
    143.             {
    144.                 a[i]=(string)l1.Items[i];
    145.             }
    146.             Array.Sort(a);
    147.             l1.Items.Clear();
    148.             for(i=0;i<=n-1;i++)
    149.             {
    150.                 l1.Items.Add(a[i]);
    151.             }
    152.  
    153.         }
    154.     }
    155. }

    Vui lòng để code vào tag code. Đọc Nội quy để biết thêm chi tiết
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 13-05-2008 lúc 09:11 PM. Lý do: Nhắc nhở

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

    Visual C# Code:
    1. private void btn2_Click(object sender, System.EventArgs e)
    2.         {
    3.             int n,i;
    4.             n=l1.Items.Count;//Lấy số phần tử trong listBox cần được sắp xếp
    5.             string [] a= new string[n];//tạo 1 mảng a
    6.  
    7.             //cho duyệt trong pham vi mảng n phần tử
    8.             //lưu các giá trị của listBox vào trong mảng a vừa tạo
    9.             for (i=0;i<=n-1;i++)
    10.             {
    11.                 a[i]=(string)l1.Items[i];
    12.             }
    13.  
    14.             //Sắp xềp mảng a vừa tạo
    15.             //Ở đây là sắp xếp trên mảng a, không dính dáng gì tới listBox
    16.             Array.Sort(a);
    17.             //Xóa trống listBox để lát nữa lưu lại mảng đã được sắp xếp
    18.             l1.Items.Clear();
    19.            
    20.             //Thể hiện mảng đả được sorted lên listBox
    21.             for(i=0;i<=n-1;i++)
    22.             {
    23.                 l1.Items.Add(a[i]);
    24.             }
    25.  
    26.         }
    Ngu 3 năm , khôn 1 giờ
    1 giờ đủ làm nên mọi chuyện

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

    bạn lưu ý dòng này l1.Items.Add(a[i]); trước khi duyệt thì bạn phải đánh dấu chỉ số phần tử cuối cùng trươc khi sắp xếp , sau đó khi duyệt thì duyệt từ chỉ số vừa dánh dấu thì bạn sẽ được List chuỗi đã sắp xếp
    * không thì bạn có thể tạo một List khác, sau đó add a[i] vào List đó, khi dùng thì dễ sử dụng hơn
    Thân!!
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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