Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística |
Como converter de decimal para números romanos em C++ - Exercícios Resolvidos de C++Quantidade de visualizações: 643 vezes |
Pergunta/Tarefa: Escreva um programa C++ que pede para o usuário informar um número inteiro decimal e converta-o para o número romano correspondente. Sua saída deverá ser parecida com: Informe um número decimal: 2023 O número romano correspondente é: MMXXIII Veja a resolução comentada deste exercício usando C++: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <iostream> #include <string> using namespace std; // função principal do programa int main(int argc, char *argv[]){ int numero; string resultado = ""; // para guardar o resultado // vamos criar um array com os valores decimais possíveis de // cada número romano int valores_numeros_romanos[13] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; // representação dos números romanos string numeros_romanos[13] = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}; // vamos pedir para o usuário informar um número decimal cout << "Informe um número decimal: "; cin >> numero; // o número é maior que zero? if (numero > 0) { // percorremos o array de valores decimais dos números romanos for(int i = 0; i < 13; i++){ // enquanto o número informado for maior que o valor do // do número romano atual while(numero >= valores_numeros_romanos[i]){ // reduz o número informado numero = numero - valores_numeros_romanos[i]; // concatena o número romano e continua o cálculo resultado = resultado + numeros_romanos[i]; } } } // mostramos o resultado if(resultado == ""){ cout << "O número informado não possui número romano" << endl; } else{ cout << "O número romano correspondente é: " << resultado << endl; } cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |