Como reverter uma corda em C

How Reverse String C



Na codificação de strings, a reversão de strings é um tópico crucial. Existem também vários métodos para inverter uma string, cada um dos quais com uma lógica diferente. Este artigo mostrará como reverter adequadamente uma string para usar várias abordagens e raciocínios distintos com e sem a necessidade de quaisquer funções predefinidas. Sempre que a reversão de uma técnica de string é aplicada em uma string de entrada única específica, o texto que um consumidor forneceria em uma ordem específica será completamente revertido. No exemplo abaixo, diferentes alternativas de reverter uma string com C foram empregadas.

Ao implementar este guia, estivemos trabalhando no sistema Ubuntu 20.04 Linux configurado no Virtual Box. Ao trabalhar em um sistema Linux, costumávamos fazer a maioria de nossas instalações e consultas no shell do terminal. Portanto, abra o shell do terminal por um atalho Ctrl + Alt + T ou pesquise por meio de uma barra de pesquisa do aplicativo na área de atividade da área de trabalho do Ubuntu. É necessário atualizar seu sistema primeiro por meio da consulta de atualização do apt. Ele solicitará a senha do usuário atual para executar a atualização. Portanto, adicione uma senha e pressione o botão Enter.







$ sudo apt update



Como temos usado a linguagem de programação C para elaborar o conceito de reversão de strings no sistema Ubuntu 20.04, deve-se ter um compilador C instalado em seu sistema Ubuntu. Portanto, certifique-se de instalar o compilador GCC em seu sistema por meio da consulta abaixo.



$ sudo apt install gcc

Exemplo 01: Usando For Loop

Após a instalação e configuração do compilador GCC e atualização do pacote apt, ele passa a criar um novo arquivo. Este arquivo deve ser do tipo C; portanto, use o comando touch para criar um arquivo new.c conforme abaixo. Este arquivo será usado em nosso código a partir de agora durante a implementação de programas de string reversa.





$ touch new.c

Agora você pode abrir este arquivo para edição ou codificação por um editor Nano que foi integrado em seu sistema Ubuntu 20.04 Linux. Portanto, tente as instruções abaixo em seu shell para fazer isso.



$ nano novo.c

O arquivo do tipo C recém-criado foi aberto no Editor GNU Nano do sistema Ubuntu 20.04. Você deve escrever um script C nele, conforme apresentado na imagem da captura de tela abaixo. Deixe-nos elaborar este código para seu melhor entendimento. No início de um código, incluímos duas bibliotecas. A biblioteca stdio.h foi usada para receber entradas e exibir as saídas, e a outra biblioteca string.h foi usada para usar todos os tipos de strings em nosso código. Todo o trabalho de reverter uma string será feito no método main () de um código C. Declaramos uma string de tipo de caractere str com tamanho 50. Isso significa que uma string com mais de 50 caracteres não pode ser incluída neste código. Depois disso, declaramos duas variáveis ​​do tipo inteiro. A variável l foi usada para coletar o comprimento de uma string str e, a variável I será usada como um inicializador no loop for. Em seguida, usamos uma instrução printf para imprimir um texto no shell Enter string, informando ao usuário para adicionar um valor a uma variável de string. O método scanf () foi usado para inserir o usuário em tempo de execução e salvar esse valor em uma string str. A função strlen () foi usada para verificar o comprimento de uma string str que foi adicionada por um usuário em tempo de execução e salvá-la em uma variável l '. Em seguida, inicializamos um loop for para reverter a string str. Você pode ver que o inicializador I 'está pegando o valor de uma variável l para inverter a direção de uma string. Em seguida, ele imprime os caracteres de uma string str ', um por um reverso. No último, o método principal foi encerrado. Salve este arquivo usando Ctrl + S e feche-o com Ctrl + X.

Agora é hora de compilar o código e verificar sua saída. Conseqüentemente, a compilação foi feita pela consulta gcc indicada abaixo com o nome de um arquivo new.c.

$ gcc new.c

Como a compilação é bem-sucedida, isso significa que não há erro em nosso código. Vamos executar nosso arquivo por uma consulta a.out no shell da seguinte maneira:

$./para.Fora

O processo de execução pedirá ao usuário para adicionar uma string. Adicionamos I-Am-Aqsa-Yasin e pressionamos Enter. Você pode ver que ele retorna o reverso de uma string na linha seguinte.

Exemplo 02: usando troca

Neste exemplo, usaremos o método de troca para inverter a ordem de uma string. Portanto, abra o arquivo new.c mais uma vez usando o editor nano da seguinte maneira:

$ nano novo.c

Agora o arquivo foi aberto no editor GNU nano; precisamos atualizar o arquivo de código com o script mostrado abaixo na captura de tela. Incluímos primeiro o arquivo de cabeçalho de entrada e saída padrão em nosso código usando a palavra-chave #include. Definimos um método Reverse () de acordo com o uso da técnica de troca. Inicializamos três variáveis ​​de tipo inteiro new, I e swap. O primeiro loop for é usado para verificar se a string s está vazia ou não. O próximo loop for é usado para iteração e, em seu corpo, trocamos os valores usando as variáveis ​​new e swap. É importante notar que reverter uma string de comprimento n leva apenas n / 2 rodadas. Uma vez que as strings foram trocadas, você terá que fazer um loop novamente para mostrar a string invertida, o que fazemos em nosso aplicativo usando um terceiro loop for. A função Reverse () deve ser chamada a partir do programa principal interno. Você declarou o que seu software executa com printf dentro do contexto de main (). Depois disso, você usou scanf () para obter a entrada do usuário e invocou o método Reverse (). Agora salve o arquivo novamente usando Ctrl + S e saia do editor nano usando o atalho Ctrl + X e retorne ao terminal.

Compile o código primeiro por uma consulta gcc conforme abaixo.

$ gcc new.c

Agora execute o arquivo de código usando a mesma instrução ./a.out.

$./para.Fora

Ele solicitará que você insira o valor da string. Adicionamos AqsaYasin e obtemos seu reverso.

Exemplo 03: usando recursão

Neste exemplo, usaremos a recursão para reverter uma string adicionada por um usuário. Portanto, abra o arquivo novamente.

$ nano novo.c

Este programa imprime Digite uma frase: Um método Reverse () é então usado. A letra inicial inserida por um usuário é salva em c por meio desse método. Reverse () é executado novamente se o argumento for diferente de n (nova linha). Este procedimento continua até que o usuário pressione a tecla Enter. Sempre que o usuário pressiona enter, o método Reverse () imprime o texto na ordem inversa. Salve e feche o arquivo.

Compile o código primeiro e, em seguida, execute-o usando os comandos anteriores da seguinte maneira:

$ gcc new.c

$./para.Fora

Você pode ver que ele recebe a entrada de um usuário como uma frase inteira e, em seguida, inverte a ordem dessa frase.

Conclusão:

Finalmente, fizemos três exemplos para elaborar sobre a reversão de uma entrada do tipo string com métodos diferentes, por exemplo, usando for loop, usando recursão e usando swap.