Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Sắp sếp mảng điểm trên C#

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

    Angry Sắp sếp mảng điểm trên C#

    minh muốn dùng DrawClosedCurve vẽ hình bao quanh các điểm
    ......B.............D..............F
    / /
    A..........C............E

    Hiện mình đang lưu trong mảng như sau {A(Xa,Ya),B(Xb,Yb),C(Xc,Yc),D(Xd,Yd),E(Xe,Ye),F(Xf ,Yf),....} với Xa<Xb<Xc<... và Ya=Yc=Ye.... ,Yb=Yd=... (tức là các điểm ở vị trí lẻ thì có tung độ bằng nhau còn các điểm ở vị trí chẵn thì có tung độ bằng nhau) bây giơ mình muốn sắp xếp mảng sao cho mảng có dạng như sau {A,C,E,...,F,D,B} (Tức là các điểm lẻ được lưu lần lượt trong mảng theo chiều tăng của X sau đó đến các điểm chẵn và chúng lại được sắp xếp theo chiều giảm của X ).
    Mình viết bằng C# các bác cao thủ C# giúp mình với mình nghĩ mà chưa nghĩ ra được.Cám ơn trước nhé
    Đã được chỉnh sửa lần cuối bởi trinhduchanhth49 : 06-05-2009 lúc 05:29 AM.

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

    Cái này là sắp xếp các số lẻ giảm dần, các số chẵn tăng dần. Dựa vào đây, bạn sẽ làm dc bài của bạn
    Visual C# Code:
    1. using System;
    2.  
    3. public class SortArray
    4. {
    5.     public static void Main()
    6.     {
    7.         int[] myArray = new int[] { 10, 7, 5, 7, 11,0, 8, 3, 2, 1, 5};
    8.         Console.WriteLine("Array before sorted:");
    9.         DisplayArray(myArray);
    10.        
    11.         //xap xep mang tang dan
    12.         Array.Sort(myArray);
    13.         //dao nguoc mang
    14.         Array.Reverse(myArray);
    15.  
    16.         //dua cac so chan len dau va sap xep
    17.         for (int i = 0; i < myArray.Length;i++ )
    18.         {
    19.             if (myArray[i]%2!=0)
    20.             {
    21.                 for (int j = i+1; j < myArray.Length;j++ )
    22.                 {
    23.                     if (myArray[j]%2==0)
    24.                     {
    25.                         int temp = myArray[i];
    26.                         myArray[i] = myArray[j];
    27.                         myArray[j] = temp;
    28.                         break;
    29.                     }
    30.                 }
    31.             }
    32.         }
    33.  
    34.         //sap xep cac so le
    35.         for (int i = 0; i < myArray.Length;i++ )
    36.         {
    37.             if (myArray[i]%2!=0)
    38.             {
    39.                 for (int j = i + 1; j < myArray.Length;j++ )
    40.                 {
    41.                     if (myArray[i]>myArray[j])
    42.                     {
    43.                         int temp = myArray[i];
    44.                         myArray[i] = myArray[j];
    45.                         myArray[j] = temp;
    46.                     }
    47.                 }
    48.             }
    49.         }
    50.  
    51.         Console.WriteLine("Array after sorted:");
    52.         DisplayArray(myArray);
    53.  
    54.         Console.ReadLine();
    55.     }
    56.     static void DisplayArray(int[] arr)
    57.     {
    58.         Console.WriteLine("\n");
    59.         for (int i = 0; i < arr.Length;i++ )
    60.         {
    61.             Console.Write("{0}\t", arr[i]);
    62.         }
    63.         Console.WriteLine();
    64.     }
    65. }
    Cánh Chym ứ mỏi

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

  1. Lập trình C++ lỗi khi viết trên dev c, còn trên cfree chạy bình thường
    Gửi bởi truongvantri trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 26-10-2013, 03:34 PM
  2. Trả lời: 30
    Bài viết cuối: 15-02-2012, 07:03 PM
  3. Lập trình Socket trên C++ có thể giao tiếp chương trình Java trên Server được ko các
    Gửi bởi jacobkruse trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 18-11-2010, 11:10 PM
  4. Source code build trên Ubuntu có chạy được Trên Linux Kernel không ?
    Gửi bởi trần trân trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 0
    Bài viết cuối: 03-11-2010, 09:22 AM
  5. Lưu dữ liệu để trống trên một cell của datagirdview trên csdl Access như thế nào?
    Gửi bởi hvcuongit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 27-05-2009, 04:21 PM

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