Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

تحديات برمجيةالتحدي الرابع - حل التمرين الأول بلغة C

المطلوب

أكتب برنامج يطلب من المستخدم إعطائه عددين, العدد الأول يمثل عدد أسطر مصفوفة ثنائية ( ذات بعدين ) إسمها matrix و العدد الثاني يمثل عدد أعمدتها.
ملاحظة: عدد أسطر و أعمدة المصفوفة يجب أن يكون أكبر من صفر.
بعدها يطلب من المستخدم إدخال عدد صحيح لكل عنصر فيها.
في الأخير, سيعرض للمستخدم جميع القيم المخزنة فيها بشكل مرتب.


الحل بلغة C

#include <stdio.h>

void main() {
    
    int rows = 0;
    int cols = 0;
    
    do 
    {
        printf("Enter rows number: ");
        scanf("%d", &rows);
    }
    while (rows <= 0);
    
    do 
    {
        printf("Enter cols number: ");
        scanf("%d", &cols);
    }
    while (cols <= 0);
    
    int matrix[rows][cols];
    
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            printf("Enter matrix[%d][%d]: ", i, j);
            scanf("%d", &matrix[i][j]);
        }
    }
    
    printf("\nmatrix values\n");
    
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }
    
}

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

Enter rows number: 2
Enter columns number: 3
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

matrix values
1 2 3
4 5 6