Plataforma: URI
Problema: 1238Enunciado:
Implemente um programa denominado combinador, que recebe duas strings e deve combiná-las, alternando as letras de cada string, começando com a primeira letra da primeira string, seguido pela primeira letra da segunda string, em seguida pela segunda letra da primeira string, e assim sucessivamente. As letras restantes da cadeia mais longa devem ser adicionadas ao fim da string resultante e retornada.
Linguagem: C++
A solução foi ler as duas strings e verificar qual é a maior, armazenando o maior tamanho na variável "maior". Depois disso, um laço de repetição com tamanho "maior" seria executado, imprimindo intercaladamente os caracteres de cada string. A combinação é feita diretamente na escrita, não é necessário salvar a string combinada.
#include <iostream> int main() { int N; std::cin >> N; while (N--) { std::string palavra1, palavra2; std::cin >> palavra1 >> palavra2; int tamanhoPalavra1; int tamanhoPalavra2; int contadorPalavra1 = 0; int contadorPalavra2 = 0; while (palavra1[contadorPalavra1] != '\0') contadorPalavra1++; while (palavra2[contadorPalavra2] != '\0') contadorPalavra2++; int maior = contadorPalavra1; if (contadorPalavra1<contadorPalavra2) maior = contadorPalavra2; int indice = 0; while (maior--) { if (indice < contadorPalavra1) std::cout<<palavra1[indice]; if (indice < contadorPalavra2) std::cout<<palavra2[indice]; indice++; } std::cout<<std::endl; } return 0; }
Nenhum comentário:
Postar um comentário