إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    الخوارزميات التعامل مع المصفوفة ذات البعدين - التمرين الأول

    المطلوب

    هذا التمرين مقسّم إلى ثلاثة أفكار رئيسية, عليك اتباع التقسيم التالي خطوة خطوة حتى تنجز البرنامج.

    1. أكتب برنامج يطلب من المستخدم إعطائه عددين, العدد الأول يمثل عدد أسطر مصفوفة ذات بعدين إسمها matrix و العدد الثاني يمثل عدد أعمدتها.
      خزن العدد الأول في متغير إسمه a و العدد الثاني في متغير إسمه b.
      إنتبه: يجب أن يدخل المستخدم عددين أكبر من صفر, لأن عدد عناصر المصفوفة لا يمكن أن يكون صفر أو أقل من صفر.
    2. ثم يطلب من المستخدم إدخال قيمة لكل عنصر من عناصر المصفوفة matrix.
    3. ثم يعرض له جميع قيم عناصر المصفوفة matrix.

    النتيجة المطلوبة

    لنفترض أن المستخدم أراد عدد الأسطر يساوي 3 و الأعمدة 4 و أدخل القيم 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 عند التشغيل.

    الخوارزمية

    كود الجافا

    import java.util.Scanner;
     
    public class Matrix {
     
        public static void main (String[] args) {
     
            Scanner input = new Scanner(System.in);
     
            int a;
            int b;
            int[][] matrix;
     
            do
            {
                System.out.print("Enter the number of rows: ");
                a = input.nextInt();
            }
            while ( a <= 0 );
     
            do
            {
                System.out.print("Enter the number of columns: ");
                b = input.nextInt();
            }
            while ( b <= 0 );
     
            matrix = new int[a][b];
     
            System.out.print("\n");
     
            for (int i=0; i<a; i++)
            {
                for (int j=0; j<b; j++)
                {
                    System.out.print("Enter matrix[" +i+ "][" +j+ "]: ");
                    matrix[i][j] = input.nextInt();
                }
                System.out.print("\n");
            }
     
            for (int i=0; i<a; i++)
            {
                for (int j=0; j<b; j++)
                {
                    System.out.print(matrix[i][j] + "\t");
                }
                System.out.print("\n");
            }
     
            System.out.print("\n");
     
        }
     
    }
    		

    شرح الكود


    		int a;
    		int b;
    		int[][] matrix;
    			
    • هنا قمنا بتجهيز المتغير a و الذي سنستخدمه لتخزين عدد أسطر المصفوفة, و هو أول شيء سيطلب من المستخدم إدخاله.
    • و المتغير b و الذي سنستخدمه لتخزين عدد أعمدة المصفوفة, و هو ثاني شيء سيطلب من المستخدم إدخاله.
    • و المصفوفة matrix و التي لم يتم تحديد عدد عناصرها.


    		do
    		{
    			System.out.print("Enter the number of rows: ");
    			a = input.nextInt();
    		}
    		while ( a <= 0 );
    			
    • هنا سيطلب من المستخدم إدخال عدد أسطر المصفوفة, بعدها سيتم تخزينه في المتغير a.
    • بعدها سيتم فحص قيمة المتغير a, إذا كانت أصغر أو تساوي 0 سيطلب من المستخدم إدخال العدد من جديد.
    • إذاً هذه الحلقة تضمن أن لا يقوم المستخدم بإدخال عدد أصغر أو يساوي 0 كعدد أسطر المصفوفة.


    		do
    		{
    			System.out.print("Enter the number of columns: ");
    			b = input.nextInt();
    		}
    		while ( b <= 0 );
    			
    • هنا سيطلب من المستخدم إدخال عدد أعمدة المصفوفة, بعدها سيتم تخزينه في المتغير b.
    • بعدها سيتم فحص قيمة المتغير b, إذا كانت أصغر أو تساوي 0 سيطلب من المستخدم إدخال العدد من جديد.
    • إذاً هذه الحلقة تضمن أن لا يقوم المستخدم بإدخال عدد أصغر أو يساوي 0 كعدد أعمدة المصفوفة.


    		matrix = new int[a][b];
    			
    • هنا سيتم تعيين قيمة المتغيرين a و b اللتين أدخلهما المستخدم كعدد أسطر و أعمدة المصفوفة matrix.


    		for (int i=0; i<a; i++)
    		{
    			for (int j=0; j<b; j++)
    			{
    				System.out.print("Enter matrix[" +i+ "][" +j+ "]: ");
    				matrix[i][j] = input.nextInt();
    			}
    			System.out.print("\n");
    		}
    			
    • هنا قمنا بإنشاء الحلقتين i و j لجعل المستخدم يدخل قيمة لكل عنصر في المصفوفة.
    • الحلقة i للإنتقال من سطر إلى آخر في المصفوفة, و الحلقة j للإنتقال من عمود إلى آخر في كل سطر في المصفوفة.
    • هنا في كل دورة من دورات الحلقة i سيتم إنشاء حلقة j للمرور على جميع العناصر الموجودة في نفس السطر.
    • في كل دورة من دورات الحلقة j سيطلب من المستخدم إدخال قيمة لعنصر, ثم سيتم تخزينها في هذا العنصر.
    • بعد توقف الحلقة j (أي بعد إعطاء قيم لجميع العناصر الموجودة في نفس السطر) سيتم النزول على سطر جديد بسبب الرمز \n.


    		for (int i=0; i<a; i++)
    		{
    			for (int j=0; j<b; j++)
    			{
    				System.out.print(matrix[i][j] + "\t");
    			}
    			System.out.print("\n");
    		}
    			
    • هنا قمنا بإنشاء الحلقتين i و j لعرض جميع قيم المصفوفة.
    • الحلقة i للإنتقال من سطر إلى آخر في المصفوفة, و الحلقة j للإنتقال من عمود إلى آخر في كل سطر في المصفوفة.
    • هنا في كل دورة من دورات الحلقة i سيتم إنشاء حلقة j لعرض قيمة جميع العناصر الموجودة في نفس السطر.
    • في كل دورة من دورات الحلقة j سيتم عرض قيمة عنصر, ثم وضع بعض المسافات الفارغة بسبب الرمز \t.
    • بعد توقف الحلقة j (أي بعد عرض قيم جميع العناصر الموجودة في نفس السطر) سيتم النزول على سطر جديد بسبب الرمز \n.
    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب