Exercícios Resolvidos de Manipulando Strings

Ver Teoria

Enunciado

Elabore uma função chamada ordenar, ela deve receber duas strings e imprimi-las na tela na ordem alfabética.

OBS: As strings devem possuir apenas letras minúsculas.

Passo 1

Eai, tudo beleza?

Nessa questão, nós vamos ter que comparar duas strings. No C++, podemos comparar strings usando as notações que utilizamos para comparar valores numéricos. Isso é possível pois o que estamos comparando são os valores da tabela ASCII. Ou seja, se usamos “ a ”   >   “ b ” , estamos comparando o valor de ‘a’ com ‘b’ na tabela ASCII, que seria o mesmo de comparar 97 com 98. Ou seja, essa afirmação “ a ”   >   “ b ” , vai nos retornar F A L S E .

Quando comparamos strings maiores, a comparação ocorre termo a termo, ou seja, o primeiro termo é comparado com o primeiro, o segundo com o segundo e assim segue.

Com isso, podemos começar a nossa função.

Passo 2

Vamos iniciar o nosso código incluindo as bibliotecas iostream, para usarmos a função cout, e a biblioteca string. Em seguida vamos declarar a nossa função o r d e n a r como do tipo v o i d , pois só precisamos imprimir valores na tela e não há necessidade de retornar nada. Além disso, vamos colocar duas strings como parâmetros.

Passo 3

A seguir, vamos começar as comparações. Para isso, vamos usar o condicional if para compararmos a s t r 1 com a s t r 2 . Se s t r 1 > s t r 2 for verdade, isso significa que s t r 1 tem maior valor na tabela ASCII. Ou seja, s t r 1 vem depois na ordem alfabética. Caso o contrário, s t r 1 vem primeiro ou elas são a mesma palavra (caso s t r 1 = = s t r 2 ). Com isso, podemos fazer o seguinte condicional:

Resposta