Thiago André Cardoso Postado Maio 22, 2018 Denunciar Share Postado Maio 22, 2018 Bom dia lindos programadores. 😍 O usuário irá digitar um número com 5 dígitos. Ex: 12578 O algoritmo deve extrair os números impares e imprimir apenas os pares digitados. Caso não seja digitado nenhum par, mostrar a mensagem "nenhum par encontrado". Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ThiagoD Postado Maio 22, 2018 Denunciar Share Postado Maio 22, 2018 Deixa eu ver se eu entendi... então, se eu digitar o numero que voce usou como exemplo (12578), o resultado que deve ser imprimido na saida seria o numero abaixo? Resultado: 157 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ThiagoD Postado Maio 22, 2018 Denunciar Share Postado Maio 22, 2018 (editado) Nossa, achei que não fosse conseguir fazer... eu já tinha estudado sobre concatenaçao e manipulaçao de strings mas, ainda não tinha praticado ou resolvido nenhum exercicio utilizando isso... Gostaria de ver a soluçao do autor do tópico para esse problema. // Algoritmo criado para o desafio do forum Script Brasil. // O usuario deve digitar um numero inteiro de 5 digitos. O algoritmo devera // verificar se esse numero contem algum numero impar e, se houver, devera // extrair esse(s) numero(s), deixando apenas os numeros pares para serem // exibidos na tela. Caso não tenha nenhum numero par, devera ser exibida apenas // a menssagem: "Nenhum Par Encontrado!". // Algoritmo criado por ThiagoD. algoritmo "Extraia_Os_Pares" var num,result : CARACTERE a : INTEIRO inicio REPITA REPITA // Esse bloco se repetira ate que o usuario digite... LIMPATELA // um numero valido. ESCREVA(" Digite um Número Inteiro com 5 Digitos: ") LEIA(num) SE não(COMPR(num)=5) então ESCREVAL(" Número Inválido!") LEIA(num) FIMSE ATE(COMPR(num)=5) result:="" PARA a:=1 ATE 5 FACA // Aqui, vamos verificar cada numero. SE (ASC(COPIA(num,a,1))%2=0)então // Cada numero par que for encontrado... result:=result+COPIA(num,a,1) // sera concatenado a variavel 'result' FIMSE FIMPARA SE não(result="") então // Se verdadeiro, vamos imprimir a... ESCREVA(" Resultado: ",result) // variavel 'result' na tela. LEIA(num) // Se não, uma menssagem sera exibida. SENAO ESCREVA(" Nenhum Par Encontrado! ") LEIA(num) FIMSE ATE(0>1) fimalgoritmo Editado Maio 22, 2018 por ThiagoD complementar meu comentario... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thiago André Cardoso Postado Maio 23, 2018 Autor Denunciar Share Postado Maio 23, 2018 16 horas atrás, ThiagoD disse: Nossa, achei que não fosse conseguir fazer... eu já tinha estudado sobre concatenaçao e manipulaçao de strings mas, ainda não tinha praticado ou resolvido nenhum exercicio utilizando isso... Gostaria de ver a soluçao do autor do tópico para esse problema. // Algoritmo criado para o desafio do forum Script Brasil. // O usuario deve digitar um numero inteiro de 5 digitos. O algoritmo devera // verificar se esse numero contem algum numero impar e, se houver, devera // extrair esse(s) numero(s), deixando apenas os numeros pares para serem // exibidos na tela. Caso não tenha nenhum numero par, devera ser exibida apenas // a menssagem: "Nenhum Par Encontrado!". // Algoritmo criado por ThiagoD. algoritmo "Extraia_Os_Pares" var num,result : CARACTERE a : INTEIRO inicio REPITA REPITA // Esse bloco se repetira ate que o usuario digite... LIMPATELA // um numero valido. ESCREVA(" Digite um Número Inteiro com 5 Digitos: ") LEIA(num) SE não(COMPR(num)=5) então ESCREVAL(" Número Inválido!") LEIA(num) FIMSE ATE(COMPR(num)=5) result:="" PARA a:=1 ATE 5 FACA // Aqui, vamos verificar cada numero. SE (ASC(COPIA(num,a,1))%2=0)então // Cada numero par que for encontrado... result:=result+COPIA(num,a,1) // sera concatenado a variavel 'result' FIMSE FIMPARA SE não(result="") então // Se verdadeiro, vamos imprimir a... ESCREVA(" Resultado: ",result) // variavel 'result' na tela. LEIA(num) // Se não, uma menssagem sera exibida. SENAO ESCREVA(" Nenhum Par Encontrado! ") LEIA(num) FIMSE ATE(0>1) fimalgoritmo var numero_string:String var numero_digitado:Int var pares:String = "02468" var resultado:String = "" numero_digitado = 12345 numero_string = String(numero_digitado) print(numero_string.count) if numero_string.count != 5 { print("Digite o numero com 5 dígitos") } else { //irá varrer todos os caracteres da string numero_string for varrer_string in numero_string { // irá varrer todos os caracteres da string pares for checar_par in pares { if varrer_string == checar_par { resultado = resultado + String(varrer_string) } } } let numero_extraido:Int = Int(resultado)! print(numero_extraido) } Depois posto sem a utilização do auxilio da String. Usando matemática pura. Obrigado por responder, abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 John_Doe Postado Maio 23, 2018 Denunciar Share Postado Maio 23, 2018 (editado) #include <iostream> #include <string> using namespace std; bool ehPar(int numero) { for (int indice = 2; indice < 10 ; indice += 2) // 2,4,6 e 8; if (indice == numero) return true; return false; } bool temCincoDigitos(string numero) { if (numero.length() == 5) return true; else return false; } int converterParaInteiro(char numero) { try { return numero - '0'; // <- converter um número para inteiro } catch (exception e) { return -1; // caso venha a aparecer uma letra ao invés do número. } } int main() { string numero_string; int contador; cout << "Favor digite um numero de 5 (cinco) digitos: "; cin >> numero_string; if (temCincoDigitos(numero_string)) for (int indice = 0; indice <= 4; indice ++) if (ehPar(converterParaInteiro(numero_string[indice]))){ cout << numero_string[indice]; contador += 1; } if (contador == 0) cout << "Não encontrado numeros pares" << endl; } Editado Maio 23, 2018 por John_Doe revisão do código! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thiago André Cardoso Postado Maio 23, 2018 Autor Denunciar Share Postado Maio 23, 2018 39 minutos atrás, John_Doe disse: #include <iostream> #include <string> #include <sstream> using namespace std; bool ehPar(int numero) { int par = 0; for (int indice = 2; indice < 10 ; indice += 2) if (indice == numero) return true; return false; } bool temCincoDigitos(string numero) { if (numero.length() == 5) return true; else return false; } int converterParaInteiro(char numero) { try { return numero - '0'; // <- converter um número pra } catch (exception e) { return -1; } } int main() { string numero_string; int contador; cout << "Favor digite um numero de 5 (cinco) digitos: "; cin >> numero_string; if (temCincoDigitos(numero_string)) for (int indice = 0; indice <= 4; indice ++) if (ehPar(converterParaInteiro(numero_string[indice]))){ cout << numero_string[indice]; contador += 1; } if (contador == 0) cout << "Não encontrado numeros pares" << endl; } Show! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Thiago André Cardoso
Bom dia lindos programadores. 😍
O usuário irá digitar um número com 5 dígitos. Ex: 12578
O algoritmo deve extrair os números impares e imprimir apenas os pares digitados.
Caso não seja digitado nenhum par, mostrar a mensagem "nenhum par encontrado".
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.