Sinh dãy ngẫu nhiên tăng trong C#

Việc sinh ra một dãy ngẫu nhiên trong C# là một điều cần thiết khi chúng ta cần cần dữ số liệu để test chương trình. Nhưng không phải bất kỳ trường hợp nào bạn cũng sinh ra một dãy số ngẫu nhiên lớn nhỏ theo một thứ tự bất kỳ. Trong nhiều trường hợp ta sẽ cần phải tạo ra các dãy số ngẫu nhiêu tăng. Với một ngôn ngữ mạnh như C#, việc này được thực hiện tươ đối dễ dàng.

Sinh ngẫu nhiên tăng trong C#

1. Yêu cầu đặt ra: Sinh ngẫu nhiên n phần tử được sắp không giảm (tăng) cho mảng nguyên a.

2. Thuật toán

–  Sinh ngẫu nhiên phần tử đầu tiên.

– Từ phần tử thứ hai trở đi, trị được sinh bằng trị của phần tử sát trước nó cộng thêm một đại lượng ngẫu nhiên.

3. Source code demo chương trình sinh dãy ngẫu nhiên tăng trong C#

– Source code được viết trên môi trường console của Visual studio 2010.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Random_increase
{
    class Program
    {
        static public int[] RandomIncrease(int n)
        {
            Random rd = new Random();
            int[] a = new int[n];
            a[0] = rd.Next(5);

            for (int i = 1; i < n; i++)
            {
                a[i] = a[i - 1] + rd.Next(10);            
            }
            return a;
        }

        static public void view(int[] a, int n)
        {
            Console.WriteLine("\n Day ngau nhien tang duoc sinh ra la: \n");
            for (int i = 0; i < n; i++)
            {
                Console.Write("{0}  ", a[i]);
            }
        }
        static void Main(string[] args)
        {
            view(RandomIncrease(100), 99);
            Console.ReadLine();
        }
    }
}

–  Và kết quả của chương trình trên là:

image

 

–  Click vào đây để download chương trình minh họa việc sinh dãy ngẫu nhiên tăng trong C#.

(Tham khảo MSDN)

Advertisements

About thanhcuong1990

Handsome and talent!! ^^
This entry was posted in C#. Bookmark the permalink.

One Response to Sinh dãy ngẫu nhiên tăng trong C#

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s