Programa para invertir la matriz de copia en C

Este programa le ayudará a aprender uno de los conceptos básicos de las matrices. Copiaremos una matriz en otra pero al revés.

Algoritmo

Veamos primero cuál debería ser el procedimiento paso a paso de este programa:

START
   Step 1 → Take two arrays A, B
   Step 2 → Store values in A
   Step 3 → Set count to sizeof(A)
   Step 4 → Loop for each value of A
   Step 5 → Copy A[loop] to B[count]
   Step 6 → Decrement count
   Step 7 → Display B
STOP

Pseudocódigo

Veamos ahora el pseudocódigo de este algoritmo:

procedure reversecopy_array(A, B)

   SET index to 1
   Set count to sizeof(A)
   FOR EACH value in A DO
      B[count] = A[index]
      INCREMENT index
      DECREMENT count
   END FOR
   DISPLAY B
   
end procedure

Implementación

La implementación del pseudocódigo derivado anterior es la siguiente:

#include <stdio.h>

int main() {
   int original[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
   int copied[10];
   int loop, count;
   
   count = 9;
   
   for(loop = 0; loop < 10; loop++) {
      copied[count] = original[loop];
      count--;
   }
      
   printf("original -> copied \n");
   
   for(loop = 0; loop < 10; loop++) {
      printf("   %2d        %2d\n", original[loop], copied[loop]);
   }

   return 0;
}

La salida debería verse así:

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