Viết chương trình sắp xếp mảng giảm dần

Trong bài tập này chúng ta sẽ thực hiện hai chương trình để sắp xếp theo thứ tự tăng dần và giảm dần trong Java. Bài tập này giúp các bạn nắm rõ hơn về vòng lặp For.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Chúng ta sẽ thực hiện hai ví dụ, ví dụ 1 sẽ sắp xếp dữ liệu tăng dần bằng vòng lặp For và ví dụ hai sẽ sắp xếp theo thứ tự giảm dần.

Ví du 1: Chương trình để sắp xếp theo thứ tự tăng dần.

Đầu tiên chúng ta sẽ tạo một mảng và yêu cầu người dùng nhập vào số lượng phần tử trong mảng.

Tiếp đến yêu cầu người dùng nhập vào từng giá trị cho mảng.

Bài viết này được đăng tại [free tuts .net]

Sau đó dùng vòng lặp For để sắp xếp các giá trị của mảng.

Cuối cùng là hiển thị kết quả đã sắp xếp ra màn hình.

import java.util.Scanner;

class SapXepTangGiam {
    public static void main[String[] args] {
        int num, i, j, temp;
        Scanner input = new Scanner[System.in];
        System.out.println["Nhập vào số lượng phần tử của mảng:"];
        num = input.nextInt[];
        int array[] = new int[num];
        System.out.println["Nhập vào các phần tử trong mảng:"];
        for [i = 0; i < num; i++]
            array[i] = input.nextInt[];
        for [i = 0; i < [num - 1]; i++] {
            for [j = 0; j < num - i - 1; j++] {
                if [array[j] > array[j + 1]] {
                    temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
            }
        }
        System.out.println["Kết quả sau khi sắp xếp theo thứ tự tăng dần là: "];
        for [i = 0; i < num; i++] {
            System.out.print[array[i] + "\t"];
        }
        System.out.println[];
        System.out.println["----------------------------"];
        System.out.println["Chương trình nay được đăng tại Freetuts.net"];
    }
}

Kết quả:

Ví dụ 2: chương trình sắp xếp theo thứ tự giảm dần.

Tương tự như chương trình sắp xếp theo thứ tự tăng dần, chúng ta sẽ có chương trình sắp xếp theo thứ tự giảm dần.

import java.util.Scanner;
class SapXepTangGiam {
    public static void main[String[] args] {
        int num, i, j, temp;
        Scanner input = new Scanner[System.in];
        System.out.println["Nhập vào số lượng phần tử của mảng:"];
        num = input.nextInt[];
        int array[] = new int[num];
        System.out.println["Nhập vào các phần tử trong mảng:"];
        for [i = 0; i < num; i++]
            array[i] = input.nextInt[];
        for [i = 0; i < [ num - 1 ]; i++] {
            for [j = 0; j < num - i - 1; j++] {
                if [array[j] < array[j+1]]
                {
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }
        System.out.println["Kết quả sau khi sắp xếp theo thứ tự giảm dần là: "];
        for [i = 0; i < num; i++] {
            System.out.print[array[i] + "\t"];
        }
        System.out.println[];
        System.out.println["----------------------------"];
        System.out.println["Chương trình nay được đăng tại Freetuts.net"];
    }
}

kết quả:

Như vậy là chúng ta đã thực hiện xong chương trình sắp xếp theo thứ tăng dần và giảm dần. Chúc các bạn thực hiện thành công!!!

Viết chương trình C# để nhập một mảng, sau đó sắp xếp mảng theo thứ tự giảm dần và in mảng đã sắp xếp trên màn hình.

Bài tập sắp xếp mảng là bài tập rất phổ biến trong mọi ngôn ngữ lập trình và có nhiều ứng dụng. Bài tập C# này giúp bạn làm quen với các khái niệm: khai báo mảng, khởi tạo mảng, và cách truy cập các phần tử của mảng trong C#.

Mời bạn tham khảo cách Sắp xếp mảng theo thứ tự tăng dần.

Chương trình C#

Dưới đây là chương trình C# để giải bài tập sắp xếp mảng theo thứ tự giảm dần trong C#:

using System;

namespace VietJackCsharp
{
    class TestCsharp
    {
        public static void Main[]
        {

            int[] arr1 = new int[10];

            int n, i, j, tmp; //tmp la bien tam [bien trung gian]


            Console.Write["\nSap xep mang theo thu tu giam dan trong C#:\n"];
            Console.Write["--------------------------------------------\n"];

            Console.Write["Nhap kich co mang: "];
            n = Convert.ToInt32[Console.ReadLine[]];

            Console.Write["Nhap {0} phan tu vao trong mang:\n", n];
            for [i = 0; i < n; i++]
            {
                Console.Write["Phan tu - {0}: ", i];
                arr1[i] = Convert.ToInt32[Console.ReadLine[]];
            }
            for [i = 0; i < n; i++]
            {
                for [j = i + 1; j < n; j++]
                {
                    if [arr1[i] < arr1[j]]
                    {
                        //cach trao doi gia tri
                        tmp = arr1[i];
                        arr1[i] = arr1[j];
                        arr1[j] = tmp;
                    }
                }
            }

            Console.Write["\nIn cac phan tu mang theo thu tu giam dan:\n"];
            for [i = 0; i < n; i++]
            {
                Console.Write["{0}  ", arr1[i]];
            }
            Console.Write["\n\n"];     

            Console.ReadKey[];
        } 
    }
}

Nếu bạn không sử dụng lệnh Console.ReadKey[]; thì chương trình sẽ chạy và kết thúc luôn [nhanh quá đến nỗi bạn không kịp nhìn kết quả]. Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.

Kết quả chương trình C#

Biên dịch và chạy chương trình C# trên sẽ cho kết quả:

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại //www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: //www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền //www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Chủ Đề