Como reverter uma matriz em c

Como reverter uma matriz em c
Uma matriz é um grupo de objetos de dados idênticos mantidos em locais específicos de memória na linguagem de programação C. Seus componentes serão recuperados com a ajuda dos índices da matriz. Neste artigo, explicaremos diferentes técnicas usadas para inverter uma matriz em C.

Quando você inverte uma matriz, o primeiro elemento se torna o último, e o último elemento se torna o primeiro. Da mesma maneira, o segundo componente da matriz se tornará o segundo último, e o segundo último componente se tornou o segundo e assim por diante.

Utilize uma matriz extra para inverter uma matriz:

Podemos reverter a matriz específica adicionando outra matriz. Na realidade, este procedimento não resulta em uma matriz invertida.

#incluir
int main ()

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

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

retornar 0;

Primeiro de tudo, integramos o arquivo de cabeçalho #include . Este arquivo de cabeçalho é necessário para funções de entrada e saída. Em seguida, chamamos a função principal (). Inicializamos a matriz dentro do corpo da função principal (). Aqui temos que especificar os elementos da matriz, e esses elementos da matriz são armazenados na variável 'arr1'.

Além disso, temos que determinar o comprimento da matriz definida. Enquanto isso, declararíamos uma variável que armazena o comprimento. Usamos a função printf () para imprimir a declaração 'The original Array:.'

Nós nos candemos a loop aqui. Dentro do loop, a variável é inicializada. Após a inicialização, definimos a condição de que o valor da variável 'j' seja sempre menor que o comprimento da matriz definida. E na última parte do loop for, aumentamos o valor de 'j.'O loop opera e imprime o valor da matriz até que o comprimento se torne maior que o valor' J '.

Em seguida, fornecemos um novo caractere de linha para a função printf (). Mais uma vez, a função printf () está sendo utilizada para exibir a declaração 'The Inverted Array:.'Agora empregamos o loop da matriz em ordem invertida. Aqui inicializamos a variável loop e a colocamos de tal maneira que 'j = len-1'.

Aqui aplicamos a condição de que o loop executará e fornece o valor até que a variável 'j' seja maior ou igual a 0. E diminuímos na variável. A função printf () retorna o valor da matriz invertida. Temos que encerrar o programa aplicando o comando retornar 0.

Inverta a matriz trocando:

A segunda abordagem envolve trocar os elementos da matriz para inverter a matriz. Teremos que manter a contagem de valores de índice de duas matrizes. A primeira entrada muda de um valor de 1 para 0. O segundo índice muda de 0 para 1.

Aqui trocamos itens da matriz em intervalos específicos, em vez de duplicar o conteúdo para uma matriz inversa. A matriz completa seria invertida como resultado disso. Temos que verificar se o índice da matriz invertida não excede o índice da matriz real enquanto alterna os valores das matrizes.

#incluir
#incluir
int main ()

int arr [100], s, k, l, temp;
printf ("Digite o tamanho da matriz:");
scanf ("%d", & s);
printf ("Digite %d Array Elements:", s);
para (k = 0; kscanf ("%d", & arr [k]);
l = k-1;
k = 0;
enquanto (k
temp = arr [k];
arr [k] = arr [l];
arr [l] = temp;
k ++;
eu--;

printf ("\ nReverse da matriz é: \ n");
para (k = 0; kprintf ("%d", arr [k]);
getch ();
retornar 0;

No início do programa, temos que incluir as bibliotecas e . Agora começamos a codificar no corpo da função principal (). Aqui inicializamos uma matriz e também especificamos seu tamanho. Da mesma forma, inicializamos a variável 's' para o tamanho de uma matriz e 'temp' para trocar os elementos da matriz.

Na próxima etapa, a função printf () imprime a instrução para obter o tamanho da matriz do usuário. A função scanf () exibe o tamanho inserido pelo usuário. Da mesma maneira, a função printf () imprime a instrução, então o usuário insere os valores da matriz. Para armazenar os elementos da matriz, temos que declarar um loop.

Dentro do loop, inicializamos a variável e o loop opera até que o valor da variável seja maior que o tamanho definido do loop. Para mostrar os elementos da matriz original, empregamos o método scanf (). Inicializamos duas variáveis ​​que mantêm a confiabilidade dos dados das matrizes existentes e invertidas, respectivamente. A matriz original seria recuperada pela última posição, e a matriz invertida seria recuperada pela primeira posição. Então, 'K' se referiria ao último valor, enquanto 'L' indicaria o primeiro.

Além disso, utilizamos um loop de tempo. E aqui, trocamos os elementos das matrizes. Como o tamanho da matriz inserido pelo usuário é 12, o item presente no 11º índice seria ajustado ao 0º índice, o item no 10º índice seria atribuído ao 1º índice, e o item no 9º índice seria atribuído para o segundo índice e assim por diante. Integramos a matriz real à matriz invertida dentro do while loop.

Aqui, aumentamos o índice de matriz inversa e diminuímos o índice da matriz real após a cópia. Além disso, empregamos o loop para criar outra matriz logo após o seu loop. E agora, essa matriz armazenaria os elementos da matriz invertida. Para mostrar a matriz invertida, aplicamos a função printf (). Dessa forma, chegamos à conclusão deste código.

O usuário inseriu 12 valores diferentes da matriz. Depois de tocar 'Enter' do teclado, a ordem invertida da matriz definida é mostrada. O tamanho da matriz real e o invertido é sempre idêntico.

Conclusão:

Neste guia, conversamos sobre como inverter a matriz no idioma C. Observamos dois métodos diferentes de reverter os elementos, eu.e., Invertemos a matriz com a ajuda de uma matriz adicional e invertemos a matriz trocando os elementos. A primeira estratégia é simples e compreensiva. No entanto, estamos consumindo involuntariamente RAM, armazenando a matriz invertida. Sem adicionar uma segunda matriz, também poderíamos inverter a matriz definida.