الجمعة، 2 أكتوبر 2020

Program to divide array برنامج لتقسيم مصفوفة

 Program to divide array برنامج لتقسيم مصفوفة



لتقسيم مصفوفة إلى مجموعتين ، نحتاج إلى ثلاثة متغيرات مصفوفة على الأقل. سنأخذ مصفوفة بأرقام متصلة ثم نقوم بتخزين قيمها في متغيرين مختلفين بناءً على القيم الزوجية والفردية.

الخوارزمية

دعونا أولاً نرى ما يجب أن يكون الإجراء خطوة بخطوة لهذا البرنامج -

START
   Step 1 → Take three array variables A, E, and O
   Step 2 → Store continuous values in A
   Step 3 → Loop for each value of A  
   Step 4 → If A[n] is even then store in E array
   Step 5 → If A[n] is odd then store in E array
STOP

كود مزيف

دعنا الآن نرى الرمز الكاذب لهذه الخوارزمية -

procedure divide_array(A)

   FOR EACH value in A DO
      IF A[n] is even
         save in E
      ELSE
         save in O
      END IF
   END FOR
   
end procedure

التنفيذ

تنفيذ الكود الكاذب المشتق أعلاه كما يلي -

#include <stdio.h>

int main() {
   int array[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
   int even[10], odd[10];
   int loop, e, d;
   
   e = d = 0;
   
   for(loop = 0; loop < 10; loop++) {
      if(array[loop]%2 == 0) {
         even[e] = array[loop];
         e++;
      } else {
         odd[d] = array[loop];
         d++;
      }
   }

   printf(" original -> ");
   
   for(loop = 0; loop < 10; loop++)
      printf(" %d", array[loop]);
       
   printf("\n even -> ");
   
   for(loop = 0; loop < e; loop++)
      printf(" %d", even[loop]);   

   printf("\n odd -> ");
   
   for(loop = 0; loop < d; loop++)
      printf(" %d", odd[loop]);   

   return 0;
}

يجب أن يبدو الإخراج كالتالي -

 original ->  0 1 2 3 4 5 6 7 8 9
 even ->  0 2 4 6 8
 odd ->  1 3 5 7 9

التسميات: