الخوارزميات و هياكل البيانات التحدي الخامس - حل التمرين الخامس بلغة C#

المطلوب

أكتب برنامج يعرّف مصفوفة مربعة إسمها matrix تتألف من 3 أسطر و 3 أعمدة.
ثم يطلب من المستخدم إدخال قيم لها.
إنتبه: نريد هذه المصفوفة أن تحتوي فقط على قيم أكبر أو تساوي صفر.
ثم يعرض للمستخدم جميع القيم التي أصبحت تحتويها المصفوفة.
بعدها يقوم بجمع قيم جميع العناصر الموجودة على القطر ( On Diagonal ), فوق القطر ( Above Diagonal ), و تحت القطر ( Under Diagonal ).
في الأخير يعرض للمستخدم ناتج الجمع.


الحل بلغة C#

using System;

class Program
{
    static void Main(string[] args)
    {
        int rows = 3;
        int cols = 3;
        int[,] matrix = new int[rows, cols];

        int sumOnDiagonals = 0;
        int sumAboveDiagonals = 0;
        int sumUnderDiagonals = 0;

        for (int i = 0; i < rows; i++)
        {
            for (int j = 0; j < cols; j++)
            {
                Console.Write("Enter matrix[" + i + "][" + j + "]: ");
                matrix[i, j] = int.Parse(Console.ReadLine());
            }
        }

        for (int i = 0; i < rows; i++)
        {
            for (int j = 0; j < cols; j++)
            {
                if (j > i)
                {
                    sumAboveDiagonals += matrix[i, j];
                }
                else if (j < i)
                {
                    sumUnderDiagonals += matrix[i, j];
                }
                else
                {
                    sumOnDiagonals += matrix[i, j];
                }
            }
        }

        Console.WriteLine("\nNumber of elements above diagonals: " + sumAboveDiagonals);
        Console.WriteLine("Number of elements under diagonals: " + sumUnderDiagonals);
        Console.WriteLine("Number of elements on diagonals: " + sumOnDiagonals);

        Console.ReadKey();
    }
}
		

سنحصل على النتيجة التالية في حال تم إدخال نفس القيم التي تم تعليمها باللون الأصفر عند التشغيل.

Enter matrix[0][0]: 1
Enter matrix[0][1]: 2
Enter matrix[0][2]: 3
Enter matrix[1][0]: 4
Enter matrix[1][1]: 5
Enter matrix[1][2]: 6
Enter matrix[2][0]: 7
Enter matrix[2][1]: 8
Enter matrix[2][2]: 9

Sum of elements above diagonals: 11
Sum of elements under diagonals: 19
Sum of elements on diagonals: 15

الدورات

أدوات مساعدة

أقسام الموقع

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