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

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

المطلوب

أكتب برنامج يطلب من المستخدم إعطائه عدد يمثل عدد عناصر مصفوفة إسمها array و يخزنه في متغير إسمه n.
ملاحظة: عدد عناصر المصفوفة يجب أن يكون أكبر من صفر.
بعدها ينشئ المصفوفة array و يحدد أن عدد عناصرها هو العدد الذي أدخله المستخدم.
بعدها يطلب من المستخدم إدخال عدد صحيح لكل عنصر فيها.
بعدها يعرض للمستخدم جميع قيم عناصر المصفوفة التي قام هو بإدخالها مع وضع مسافة فارغة بين كل قيمتين.
بعدها يقوم بتحويل كل قيمة في المصفوفة أكبر من صفر إلى 1 و كل قيمة أصغر من صفر إلى -1.
في الأخير, يقوم بعرض قيم المصفوفة من جديد.


الحل بلغة C

#include <stdio.h>
#include <stdlib.h>

void main() {

    int n;
    int *array;
    
    do {
        printf("Enter array length: ");
        scanf("%d", &n);
    }
    while (n <= 0);
    
    array = malloc(n * sizeof(int));
    
    for (int i = 0; i < n; i++)
    {
        printf("Enter array[%d]: ", i);
        scanf("%d", &array[i]);
    }
    
    printf("\nCurrent values:\n");
    
    for (int i = 0; i < n; i++)
    {
        printf("%d ", array[i]);
    }
    
    for (int i = 0; i < n; i++)
    {
        if (array[i] > 0)
        {
            array[i] = 1;
        }
        else if (array[i] < 0)
        {
            array[i] = -1;
        }
    }
    
    printf("\n\nNew values:\n");
    
    for (int i = 0; i < n; i++)
    {
        printf("%d ", array[i]);
    }
    
}

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

Enter array length: 5
Enter array[0]: 2
Enter array[1]: 4
Enter array[2]: 0
Enter array[3]: -3
Enter array[4]: -2

Current values:
2 4 0 -3 -2

New values:
1 1 0 -1 -1