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

Array concatenation program in C برنامج دمج المصفوفات في C

Array concatenation program in C برنامج دمج المصفوفات في C




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

الخوارزمية

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

START
   Step 1 → Take three array variables A, E, and O
   Step 2 → Store even values in array E
   Step 3 → Store odd values in array O
   Step 4 → Start loop from 0 to sizeof(E)
   Step 5 → Copy E[n] to A[index]
   Step 6 → Start loop from 0 to sizeof(O)
   Step 7 → Copy E[n] to A[index]
   Step 8 → Display A
STOP

كود مزيف

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

procedure concate_array(A)

   Array E, O
   index ← 0
   FOR EACH value in E DO
      A[index] ← E[n]
      INCREMENT index
   END FOR
   
   FOR EACH value in O DO
      A[index] ← O[n]
      INCREMENT index
   END FOR
   DISPLAY A

end procedure

التنفيذ

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

#include <stdio.h>

int main() {
   int array[10];
   int even[5] = {0, 2, 4, 6, 8};
   int odd[5]  = {1, 3, 5, 7, 9};
   
   int loop, index, e_len, o_len;
   
   e_len = o_len = 5;
   
   index = 0;
 
   for(loop = 0; loop < e_len; loop++) {
      array[index] = even[loop];
      index++;
   }
 
   for(loop = 0; loop < o_len; loop++) {
      array[index] = odd[loop];
      index++;
   }

   printf("\nEven -> ");
   
   for(loop = 0; loop < e_len; loop++)
      printf(" %d", even[loop]);
   
   printf("\nOdd  -> ");
   
   for(loop = 0; loop < o_len; loop++)
      printf(" %d", odd[loop]);

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

   return 0;
}

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

Even ->  0 2 4 6 8
Odd  ->  1 3 5 7 9
Concat ->  0 2 4 6 8 1 3 5 7 9

التسميات: