Làm thế nào để đảo ngược một mảng trong CSharp bằng vòng lặp? (How do I reverse an array in CSharp with for loop?)


Trong bài viết này tôi sẽ hướng dẫn cách sử dụng vòng lập for để đảo các item trong một mảng một chiều trong ngôn ngữ lập trình C#.






Bài tập - Exercise

Đề mục của bài này là ta có một mảng {1, 2, 3, 4, 5} cho trước, và công việc của chúng ta là cần đảo ngược màng này lại thành {5, 4, 3 ,2, 1}. Lưu ý nhỏ là bạn phải sử dụng vòng lập for để đảo.


Định hướng - Orientation

Như theo đề mục ta cần phải đảo ví trị của item 1 sang item 5 và ngược lại, tiếp tục ta chuyển đổi vị trí của item 2 và 4, và item 3 năm giữ thì giữ nguyên, ta nhận thấy rằng để hoán đổi giữa item ta cần phải có một biến tạm để lưu giá trị của một item trong hai item cần hoán đổi.


Bài giải - Solution

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
// @Author: developer.bnson@gmail.com
// @Web: vnlives.net

namespace ArrayReverseWithForLoop
{
    class Program
    {
        static void Main(string[] args)
        {

            int[] iArr = { 1, 2, 3, 4, 5 };

            int tmpReverse;

            Console.WriteLine("\nBefore reverse.");
            foreach (int tmp in iArr)
            {
                Console.WriteLine(tmp);
            }

            for (int i = 0; i < iArr.Length / 2 ; i++)
            {
                tmpReverse = iArr[i];
                iArr[i] = iArr[iArr.Length - i - 1];
                iArr[iArr.Length - i - 1] = tmpReverse;               
            }

            Console.WriteLine("\nAfter reverse.");
            foreach (int tmp in iArr)
            {
                Console.WriteLine(tmp);
            }


            Console.ReadLine();


        }
    }
}


Kết quả - Result
























No comments:

Post a Comment