Aqui vai mais uma solução da URI/BEECROWD! Exercício novo, resolvido de barbada, muito fácil :)
Fiz de formas diferentes, dava pra fazer mais fácil ainda! Confira a resposta que interessa a você com base na linguagem de sua preferência!
Antes de resolver qualquer algoritmo do URI (BEECROWD agora), recomendamos seguir os seguintes passos:
- Ler todo enunciado do problema.
- Ler os tópicos do fórum em caso de dúvidas
- Preparar arquivos de entrada para teste, considerando as entradas de exemplo do URI, do udebug e outros valores limite;
- Preparar o ambiente de desenvolvimento e utilizar os mesmos parâmetros dos compiladores do URI
- Preparar um código-fonte padrão, já contendo a chamada às bibliotecas padrão, pré-processadores, retorno de função e um comando de escrita com "\n", pois no URI a grande maioria dos problemas exige a quebra de linha final.
Plataforma: URI (BEECROWD)
Problema: 3303
Enunciado:
Recentemente Juquinha aprendeu a falar palavrões. Espantada com a descoberta do garoto, sua mãe o proibiu de falar qualquer palavrão, sobre o risco de o menino perder sua mesada.
Como Juquinha odeia ficar sem mesada, ele te contratou para desenvolver um programa que informe para ele se uma palavra é um palavrão ou não.
Palavrões são palavras que contém dez ou mais caracteres, todas as outras palavras são consideradas palavrinhas.
#include <stdio.h> #define MAX_TAM 21 unsigned int getTam(char *palavra) { unsigned int tam = 0; if (!(palavra[tam] == '\0' && tam == 0)) while (palavra[++tam] != '\0'); return tam; } int main() { char palavra[MAX_TAM]; scanf("%s", palavra); printf("palavr%s\n", (getTam(palavra) < 10? "inha" : "ao")); return 0;
}
#include <iostream> using namespace std; int main() { string palavra; cin >> palavra; cout << "palavr" << (palavra.size() < 10? "inha" : "ao") << endl; return 0; }
Olá! Só um comentário sobre a solução em C que facilitaria a resolução: a biblioteca padrão tem funções pra manipular strings, sendo uma delas a strlen(), que retorna um inteiro que é o tamanho da string. Só precisaria fazer o include da biblioteca. Abraço e parabéns pelo blog!
ResponderExcluirOi Gabriel! Com certeza utilizar strlen aqui é mais fácil, sim! Só uma observação: strlen retorna um valor do tipo size_t, que, a depender da implementação, será de algum tipo sem sinal (unsigned) -- o que faz todo sentido, pois uma cadeia de caracteres não pode ter tamanho negativo. Ele deve ser um inteiro sem sinal, como manda a documentação, mas também pode ser outro valor. Aqui na minha máquina o size_t é um long unsigned int. Você pode verificar o que é um size_t na sua máquina olhando o arquivo stddef.h.
ExcluirObrigado pela interação conosco, um grande abraço!