Exercícios Resolvidos de Strings

Ver Teoria

Enunciado

Faça um programa que leia uma string e armazene-a invertida em outra string. Utilize uma estrutura de repetição para varrer e imprimir a nova string.

Passo 1

A primeira coisa que nós iremos fazer é definir o escopo do programa.

Passo 2

Com o escopo definido, nós iremos declarar as variáveis e vetores que serão úteis para armazenar os dados do nosso programa.

Informações sobre as variáveis e vetores:

  • string é um vetor de caracteres que será responsável por armazenar uma cadeia de caracteres;
  • invertida é um vetor de caracteres que será responsável por armazenar o conteúdo presente em string em sua forma invertida;
  • i e j são variáveis contadoras do programa.

Passo 3

Com as variáveis declaradas e inicializadas, nós podemos agora requisitar os dados de entrada do programa ao usuário.

Esse dado nada mais é do que uma cadeia de caracteres (string).

Passo 4

Antes de começarmos a inverter a cadeira de caracteres, nós precisamos primeiro identificar o índice do terminador nulo no vetor string.

Para isso, podemos utilizar a estrutura de repetição while que incrementará a variável contadora i enquanto o dado armazenado na posição de índice i do vetor string for diferente do terminador nulo.

Ao término desse processo, saberemos exatamente em que índice do vetor string se encontra o terminador nulo. Dessa forma, podemos atribuir ao vetor invertida nesse mesmo índice outro terminador nulo, uma vez que invertida armazenará o mesmo conteúdo que string e ambas devem ter suas cadeias de caracteres terminadas na mesma posição.

Passo 5

Com o vetor invertida pronto para receber uma cadeia de caracteres, nós podemos utilizar um laço de repetição for para atribuirmos os caracteres presentes no vetor string em sua ordem inversa.

A lógica é simples, nós sabemos que nesse momento do programa a variável contadora i está armazenando o índice do terminador nulo do vetor string. Com isso, podemos reiniciá-la com o seu valor atual menos 1 (último caractere do vetor string) juntamente com outra variável contadora j inicializada com o valor 0. A condição de execução desse laço é i maior ou igual a 0. Por fim, as regras de atualização das variáveis contadoras a cada loop são: i é decrementada em uma unidade e j é incrementada em uma unidade.

Com isso, o último caractere de string será atribuído a primeira posição de invertida, o penúltimo a segunda posição e assim por diante.

Passo 6

Ao término do laço de repetição for teremos a cadeia de caracteres presente em string armazenada em sua forma inversa no vetor invertida, bastando apenas realizarmos a sua impressão.

Essa impressão será seguida de uma quebra de linha.

Resposta

Ei, a resposta está no passo a passo :)