Ir para conteúdo
Fórum Script Brasil

Lucas.San.tana

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre Lucas.San.tana

Lucas.San.tana's Achievements

0

Reputação

  1. Resolvi deixar aqui o código de como resolvi o problema, e mais uma vez mano, vlw pela disponibilidade de ter respondido o tópico. espero que as duas maneiras abordadas aqui possam ser útil a outros também. #include <iostream> using namespace std; void binarios(int d) { if (d <2 ) { cout << d; }else { binarios(d/2); cout << d%2; } } int main() { int n; //entrada o numero cin>>n; //chamada da função binarios(n); return 0; }
  2. Sim eu entendo, o que quis dizer foi que mudando a saída de inteiro para void pude fazer com que meu código mostrasse o resultado correto apenas usando cout ao invés de return. Convenhamos que em programação não existe apenas uma maneira de se resolver um problema. Mas agradeço grandemente tua ajuda e acho que será de utilidade também para futuras consultas de outras pessoas. Modifiquei apenas as linhas do else chamando a função recursiva antes de mandar imprimir
  3. Vlw amigo, eu acabei resolvendo esse problema mudando o tipo de saída de inteiro para void. Assim pode mudar a sequência em que os números eram mostrados. Problema resolvido 😉
  4. Olá a todos, boa noite! sou novo no forum, e desde já peço desculpas caso essa pergunta já tenha sido respondida em outro tópico. Bom o caso é o seguinte, estou no II Semestre do curso de Sistemas de informação (Na verdade o semestre nem começou kkkk) entretanto to ainda com um pouco de dificuldade em criar funções recursivas. Eu estava resolvendo umas questões da ultima prova da unidade que eu fiz, e me ocorreu que uma das questões que eu praticamente tinha certeza que estava certa, esta dando a saída errada. Eu deveria criar uma função recursiva que recebesse um numero decimal e convertesse o mesmo para binário. meu codigo ficou assim: /* função recebe um numero decimal inteiro positivo e verifica se o numero é menor que 2, caso seja ela ira retornar o valor da variável (0 ou 1), se o numero não for menor que 2, ela irá imprimir o valor da variavel mod 2 e retornar de modo recursivo o valor da decimal dividido por 2. O erro ocorre porque o valor mostrado como resultado fica invertido, por exemplo se o valor for 1010 (base 2) ele aparece 0101(base 2) */ int binario (int decimal) { if (decimal < 2) { return decimal; }else { cout<<decimal%2; return binario(decimal/2); }
×
×
  • Criar Novo...