اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر

الأمر يعتمد اولا على لغة البرمجة التي ستسخدميها.

لكن كخوارزمية بشكل عام، الخطوات كالتالي:

1. قراءة مجموعة الأسماء وحفظها في بنية بيانات (Data Structure) معينة، مثل المصفوفة على سبيل المثال.

2. نستخدم احدى خوارزميات الترتيب Sorting Algorithm (اغلب لغات البرمجة، تحوي العديد من الخوارزميات الجاهزة في ترتيب هكذا عناصر)

3. بعد ان ننتهي من ترتيب الاسماء، نقوم بتعريف متغير نصي string مثلا، ثم نقوم بعمل حلقة تكرارية على مصفوفة الاسماء، وفي كل مرة نضيف عنصر المصفوفة الحالي متبوعا برمز السطر الجديد، بحسب لغة البرمجة ونظام التشغيل، في ويندوز سنضيف n\

4. مرحلة الاخراج Output، وهنا نحدد نوع Output المطلوب، هل نريد النتيجة ان تكتب إلى ملف، او ان تظهر للمستخدم مباشرة، ونقوم فقط بكتابة او طباعة المتغير النصي الذي يحوي الاسماء مرتبة ومفصولة بالاسطر.

لناخذ المثال التالي بلغة سي شارب.

using System;
using System.Collections.Generic;
namespace SortingNames
{
    class Program
    {
        static void Main(string[] args)
        {
            List<string> names = new List<string> { "Ahmad", "Khaled", "Bilal", "Mohammad", "Samer", "Ali", "Ibrahim" };
            names.Sort();
            string output = string.Join("\n", names);
            Console.WriteLine(output);
        }
    }
}

في هذا المثال استخدمنا بنية البيانات من نوع List، ثم قمنا بترتيبها باستخدام الدالة Sort بكل بساطة، واخيراً استفدنا من ميزات اللغة، في اضافة سطر جديد بعد كل اسم، وذلك باستخدام الدالة string.Join

 

ويمكن ايضا كتابته بشكل مختصر اخر:

using System;
using System.Linq;

namespace SortingNames
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] names = {"Ahmad", "Khaled", "Bilal", "Mohammad", "Samer", "Ali", "Ibrahim" };

            names = names.OrderBy(x => x).ToArray();
            string output = "";
            for (int i = 0; i < names.Length; i++)
            {
                output += names[i] + "\n";
            }
            Console.WriteLine(output);
        }
    }
}

في هذا المثال استفدنا من تقنية LINQ في ترتيب عناصر المصفوفة 

 

بالتوفيق،،،

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...