Programa de concatenación de matrices en C
Para concatear dos matrices, necesitamos al menos tres variables de matriz. Tomaremos dos matrices y luego, basándonos en alguna restricción, copiaremos su contenido en una sola matriz. Aquí, en este ejemplo, tomaremos dos matrices, una tendrá valores pares y otra tendrá valores impares y concatenaremos para obtener una matriz.
Algoritmo
Veamos primero cuál debería ser el procedimiento paso a paso de este programa:
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
Pseudocódigo
Veamos ahora el pseudocódigo de este algoritmo:
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
Implementación
La implementación del pseudocódigo derivado anterior es la siguiente:
#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;
}
La salida debería verse así:
Even -> 0 2 4 6 8
Odd -> 1 3 5 7 9
Concat -> 0 2 4 6 8 1 3 5 7 9