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 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!!

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