Cómo revertir una matriz en C

Cómo revertir una matriz en C
Una matriz es un grupo de objetos de datos idénticos en ubicaciones de memoria específicas en el lenguaje de programación C. Sus componentes se recuperarán con la ayuda de los índices de la matriz. En este artículo, explicaremos diferentes técnicas utilizadas para invertir una matriz en C.

Cuando invierte una matriz, el primer elemento se convierte en el último, y el último elemento se convierte en el primer. De la misma manera, el segundo componente de la matriz se convertirá en el segundo último, y el segundo último componente se ha convertido en el segundo, y así sucesivamente.

Utilice una matriz adicional para invertir una matriz:

Podemos revertir la matriz específica agregando otra matriz. En realidad, este procedimiento no da como resultado una matriz invertida.

#incluir
int main ()

int arr1 [] = 22, 33, 44, 55, 66, 77;
int len ​​= sizeof (arr1)/sizeof (arr1 [0]);
printf ("La matriz original: \ n");
para (int j = 0; j> len; j ++)
printf ("%d", arr1 [j]);

printf ("\ n");
printf ("La matriz invertida: \ n");
para (int j = len-1; j> = 0; j--)
printf ("%d", arr1 [j]);

regresar 0;

En primer lugar, integramos el archivo de encabezado #include . Este archivo de encabezado es necesario para las funciones de entrada y salida. A continuación, llamamos a la función principal (). Inicializamos la matriz dentro del cuerpo de la función principal (). Aquí tenemos que especificar los elementos de la matriz, y estos elementos de la matriz se almacenan en la variable 'ARR1'.

Además de esto, tenemos que determinar la longitud de la matriz definida. Mientras tanto, declararíamos una variable que almacena la longitud. Usamos la función printf () para imprimir la declaración 'la matriz original:.'

Solicitamos el bucle aquí. En el interior de Loop, la variable se inicializa. Después de la inicialización, establecemos la condición de que el valor de la variable 'j' sea siempre menor que la longitud de la matriz definida. Y en la última parte del bucle for, incrementamos el valor de 'j.'El bucle opera e imprime el valor de la matriz hasta que la longitud se vuelve mayor que el valor' j '.

A continuación, proporcionamos un nuevo carácter de línea a la función printf (). Una vez más, la función printf () se está utilizando para mostrar la declaración 'la matriz invertida:.'Ahora empleamos para el bucle en la matriz en orden invertido. Aquí inicializamos la variable de bucle y la establecemos de tal manera el 'j = len-1'.

Aquí aplicamos la condición de que el bucle se ejecutará y proporcione el valor hasta que la variable 'J' sea mayor o igual a 0. Y hacemos disminución en la variable. La función printf () devuelve el valor de la matriz invertida. Tenemos que finalizar el programa aplicando el comando return 0.

Invertir la matriz intercambiando:

El segundo enfoque implica intercambiar los elementos de la matriz para invertir la matriz. Tendremos que mantener el recuento de valores de índice de dos matrices. La primera entrada cambia de un valor de 1 a 0. El segundo índice cambia de 0 a 1.

Aquí intercambiamos elementos de la matriz a intervalos específicos en lugar de duplicar el contenido a una matriz inversa. La matriz completa se invertiría como resultado de esto. Tenemos que verificar que el índice de la matriz invertida no exceda el índice de la matriz real al cambiar los valores de las matrices.

#incluir
#incluir
int main ()

int arr [100], s, k, l, temp;
printf ("Ingrese el tamaño de la matriz:");
scanf ("%d", & s);
printf ("Ingrese %d elementos de matriz:", s);
para (k = 0; kscanf ("%d", y arr [k]);
l = k-1;
k = 0;
mientras (k
temp = arr [k];
arr [k] = arr [l];
arr [l] = temp;
K ++;
l--;

printf ("\ nreverse de la matriz es: \ n");
para (k = 0; kprintf ("%d", arr [k]);
getch ();
regresar 0;

Al comienzo del programa, tenemos que incluir las bibliotecas y . Ahora comenzamos a codificar en el cuerpo de la función principal (). Aquí inicializamos una matriz, y también especificamos su tamaño. Del mismo modo, inicializamos la variable 'S' para el tamaño de una matriz y 'temperatura' para intercambiar los elementos de la matriz.

En el siguiente paso, la función printf () imprime la declaración para obtener el tamaño de la matriz del usuario. La función scanf () muestra el tamaño ingresado por el usuario. De la misma manera, la función printf () imprime la declaración, por lo que el usuario ingresa los valores de la matriz. Para almacenar los elementos de la matriz, tenemos que declarar para un bucle.

En el bucle para el bucle, inicializamos la variable y el bucle funciona hasta que el valor de la variable es mayor que el tamaño definido del bucle. Para mostrar los elementos de la matriz original, empleamos el método scanf (). Inicializamos dos variables que mantienen la confiabilidad de los datos de las matrices existentes e invertidas, respectivamente. La matriz original se recuperaría por la última posición, y la matriz invertida se recuperaría por la primera posición. Entonces, 'k' se referiría al último valor, mientras que 'l' indicaría el primero.

Además de esto, utilizamos un bucle de tiempo. Y aquí, intercambiamos los elementos de las matrices. Debido a que el tamaño de la matriz ingresado por el usuario es de 12, el elemento presente en el índice 11 se ajustaría al índice 0, el elemento en el décimo índice se asignaría al primer índice, y el elemento en el noveno índice se asignaría al segundo índice y así sucesivamente. Integramos la matriz real en la matriz invertida dentro del bucle while.

Aquí, aumentamos el índice de matriz inversa y disminuimos el índice de la matriz real después de copiar. Además, empleamos para bucle para crear otra matriz justo después del bucle while. Y ahora, esta matriz almacenaría los elementos de la matriz invertida. Para mostrar la matriz invertida, aplicamos la función printf (). De esta manera, alcanzamos la finalización de este código.

El usuario ha ingresado 12 valores diferentes de la matriz. Después de tocar 'Enter' desde el teclado, se muestra el orden invertido de la matriz definida. El tamaño de la matriz real y el invertido siempre es idéntico.

Conclusión:

En esta guía, hemos hablado sobre cómo invertir la matriz en el idioma C. Observamos dos métodos diferentes para revertir los elementos, yo.mi., Invertimos la matriz con la ayuda de una matriz adicional e invertimos la matriz intercambiando los elementos. La primera estrategia es simple y comprensión. Sin embargo, consumimos involuntariamente RAM al almacenar la matriz invertida. Sin agregar una segunda matriz, también podríamos invertir la matriz definida.