Programa para dividir a matriz
Para dividir um array em dois, precisamos de pelo menos três variáveis de array. Devemos pegar uma matriz com números contínuos e, em seguida, armazenar os valores dela em duas variáveis diferentes com base em valores pares e ímpares.
Algoritmo
Vamos primeiro ver qual deve ser o procedimento passo a passo deste programa -
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
Pseudo-código
Vamos agora ver o pseudocódigo deste algoritmo -
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
Implementação
A implementação do pseudocódigo derivado acima é a seguinte -
#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;
}
A saída deve ser semelhante a esta -
original -> 0 1 2 3 4 5 6 7 8 9
even -> 0 2 4 6 8
odd -> 1 3 5 7 9