Plataforma: URI
Problema: 1239
Enunciado:
Você está ajudando a desenvolver um sistema de gerenciamento de weblog chamado bloggo. Embora bloggo coloque todo o conteúdo direto no website em HTML, nem todos autores apreciam usar tags HTML em seus textos. Para tornar a vida deles mais fáceis, bloggo oferece uma sintaxe simples chamada atalhos para obter alguns efeitos textuais em HTML. Sua tarefa é, dado um documento escrito com atalhos, traduzi-lo para o HTML apropriado. Um atalho é usado para colocar texto em itálico. HTML faz isto com as tags <i> e </i>, mas no bloggo um autor pode simplesmente colocar um pedaço de texto entre dois caracteres de sublinhado, '_'. Portanto, onde um autor escreve You _should_ see the baby elephant at the zoo! bloggo vai publicar o seguinte: You <i>should</i> see the baby elephant at the zoo! Outro atalho serve para colocar texto em negrito, o que, em HTML, é feito com as tags <b> e </b>. Bloggo permite aos autores fazer o mesmo com pares do caractere asterisco, '*'. Quando um autor escreve o texto Move it from *Receiving* to *Accounts Payable*. ele vai sair no website assim: Move it from <b>Receiving</b> to <b>Accounts Payable</b>.
Linguagem: C++
Solução:
#include <iostream> using namespace std; int main() { string texto; char letra; int tam, italic = 0, bold = 0; while (getline(cin, texto)) { tam = texto.size(); for (int i = 0; i < tam; i++) { letra = texto[i]; if (letra == '_') { italic++; if (italic & 1) cout << "<i>"; else cout << "</i>"; } else if (letra == '*') { bold++; if (bold & 1) cout << "<b>"; else cout << "</b>"; } else cout << letra; } cout << endl; } return 0; }
Nenhum comentário:
Postar um comentário