Pesquisar este blog

Livros Recomendados

sábado, 30 de janeiro de 2021

URI - 1239 - Atalhos Bloggo - Strings - C++ - Solução Alternativa

Plataforma: URI
Problema1239

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

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas