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

المطلوب

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


الحل بلغة بايثون

rows = 0
cols = 0
p_counter = 0
n_counter = 0
z_counter = 0

while rows <= 0:
    rows = int(input('Enter rows number: '))

while cols <= 0:
    cols = int(input('Enter cols number: '))

matrix = [[0] * cols for i in range(rows)]

for i in range(rows):
    for j in range(cols):
        matrix[i][j] = int(input("Enter matrix[" + str(i) + "][" + str(j) + "]: "))

for i in range(rows):
    for j in range(cols):

        if matrix[i][j] > 0:
            p_counter += 1

        elif matrix[i][j] < 0:
            n_counter += 1

        else:
            z_counter += 1

print('\nNumber of positive numbers:', p_counter)
print('Number of negative numbers:', n_counter)
print('Number of zeros:', z_counter)
		

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

Enter rows number: 3
Enter cols number: 3
Enter matrix[0][0]: 1
Enter matrix[0][1]: 2
Enter matrix[0][2]: 0
Enter matrix[1][0]: 5
Enter matrix[1][1]: 0
Enter matrix[1][2]: -1
Enter matrix[2][0]: -2
Enter matrix[2][1]: 4
Enter matrix[2][2]: -3

Number of positive numbers: 4
Number of negative numbers: 3
Number of zeros: 2

الدورات

أدوات مساعدة

أقسام الموقع

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