Pesquisar na Comunidade
Mostrando resultados para as tags ''recursividade''.
Encontrado 7 registros
-
Boa tarde,Queria um auxilio em uma questão que necessita ser resolvida com recursividade. ou seja ser resolvida com uma função que se repete sendo chamada quantas vezes for necessário: Então minha duvida é: Escreva uma função recursiva que recebe um número inteiro e retorne a soma dos seus dígitos. Exemplo= N = 45. Saída deverá ser 9. Eu consigo resolver mas não recursivamente e isso que esta me atrapalhando! Quem conseguir me ajudar eu pago um pastel ou coxinha no final da quarentena
- 3 respostas
-
- programa c
- dúvida
-
(e %d mais)
Tags:
-
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); }
-
Olá, antes de mais nada gostaria de dizer obrigado a quem responder minha dúvida. Bom eu estou aprendendo a linguagem C, e em um dos livros que estou lendo, vi um código que utiliza a recursividade para inverter uma string: #include <stdio.h> #define SIZE 80 void reverse( const char * const sPtr ); // prototype int main( void ) { char sentence[ SIZE ]; // create char array puts( "Enter a line of text:" ); // use fgets to read line of text fgets( sentence, SIZE, stdin ); puts( "\nThe line printed backward is:" ); reverse( sentence ); } // end main // recursively outputs characters in string in reverse order void reverse( const char * const sPtr ) { // if end of the string if ( '\0' == sPtr[ 0 ] ) { // base case return; } // end if else { // if not end of the string reverse( &sPtr[ 1 ] ); // recursion step putchar( sPtr[ 0 ] ); // use putchar to display character } // end else } // end function reverse Código retirado do livro: C - How to Program 7th edition, página: 347, autor: Deitel. Minha dúvida é a seguinte: como a função "reverse" funciona? Algúem pode me explicar detalhadamente? Porque não consegui entender como ela inverte um string, sendo que na linha: 21, a chamada "reverse" é chamada e recebe como argumento o endereço de memória do segundo espaço do array "sentence", e eu imagino, como ela inverte um string sendo que na próxima chamada recursiva, ela vai receber novamente "o endereço de memória do segundo espaço do array(sentence)". Desde já agradeço a qualquer um que se comprometer a sanar minha dúvida.
-
- string
- invertendo
- (e %d mais)
-
A professora me passou essa atividade mas não sei faze-la de jeito algum, por favor me ajudeem!!! A linguagem é c++ e eu utilizo o dev-c++. "Utilizando recursividade, calcular o número de dígitos de um número digitado pelo usuário."
-
- devc++
- recursividade
-
(e %d mais)
Tags:
-
Estou com problemas na resoluçao desse código, já compilei e descobri o resultado mas não sei como chegar nele, se alguém puder ajudar eu agradeço #include<stdio.h> int h (int u, int m, int l) { if (u < m) { u = u + m + l; m = u - m + l; return h (u+2,m+4,l+1) + 2; // acredito que a dificuldade esteja aqui nessa linha } else return u + m + l; } int main() { int a,b,c; a=1; b=2; c=3; printf("%d",h(a,b,c)); return 0; }
-
- função
- recursividade
-
(e %d mais)
Tags:
-
Boa tarde pessoal, como estão? Estou com uma duvida que na internet não cheguei a encontrar. Utilizarei um problema bem simples, que com apenas 2 "FOR" pode ser feito, porém, a questão é com RECURSIVIDADE, questão: - Fazer um algoritmo RECURSIVO em que, de acordo com o numero desejado, criar uma piramide de asteriscos. Exemplo: 5 * ** *** **** ***** OBS: NÃO USEM O "for", DESSA MANEIRA O PROGRAMA SERIA ANULADO (apenas com "return" e "if") Abraço
-
- recursividade
- piramide
-
(e %d mais)
Tags:
-
Olá pessoal,boa tarde! Tudo bem ? Estou com umas dúvidas em pascal e gostaria de umas ajudas. Tenho o seguinte exercício: Desenvolva uma pequena aplicação em Pascal que leia do teclado um inteiro n, maior ou igual a 1, e que e que apresente linhas dessa forma: 1 1 1 1 1 4 4 4 4 9 9 9 16 16 25 Dessa forma eu já consegui fazer usando comandos de repetição, todavia o terceiro exercício pede que façamos esse mesmo exercício usando recursividade(sem repetição), não tenho muita ideia de como poderia começar, alguém poderia me dar uma ideia? Segue o código da primeira aplicação program quuest1 (input{teclado}, output{video}); uses crt; var n:integer; procedure esc_linhas(n{e}:integer); var i,t,j :integer; begin t:=n; n:=t-(n-1); for i := t downto 1 do begin for j:= 1 to i do begin write(output, sqr(n),' '); end; writeln; n:=n+1; end; end; begin writeln('Nome do Aluno: Beto'); writeln('Disciplina: Fundamentos de programaçao'); writeln('Primeira Avaliaçao a distancia'); writeln('__________________________________________________'); writeln('Questao 1'); write(output,'Digite um numero inteiro maior ou igual a 1: '); read(input,n); if n>=1 then esc_linhas(n) else writeln(output,' Somente números maiores ou igual a 1 são aceitos'); readkey; end.
- 2 respostas
-
- recursividade
- pascal
-
(e %d mais)
Tags: