• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

bryanmg

Recursividade

2 mensagens neste tópico

Oi Boa tarde alguns dias atrás pedia ajuda aqui para resolver um exercício, agora preciso pegar esse mesmo programa e utilizar recursividade dentro dele, alguem pode me dar uma mão por favor?

O código é esse:

/*Fazer um programa para receber uma lista de números inteiros e retirar todos os números repetidos. Para comprovar o sucesso da operação, seu algoritmo deve mostrar a “lista entrada” e a “lista resultado”.*/

#include <iostream.h>
using namespace std;

      //Primeiro Módulo - receber os numeros digitados pelo usuario.
      const int MAX=5;
      void LerVetor(int VetorLista[])
           {
           for(int cont=0;cont<MAX;cont++)
           {
                   cout<<"Informe o "<<cont+1<<"o numero: ";
                   while(!(cin>>VetorLista[cont]))
                   {
                          cin.clear();
                          cin.ignore();                        
                          cout<<"Caracter invalido, digite apenas numeros: ";              
                   }  
           }  
           }
           //Segundo módulo - retirar numeros repetidos
           void RetirarRepetidos(int VetorLista[])    
           {
                   int aux=0;
                   int naoRepetido[MAX];
                                   
                   for(int cont1=0;cont1<MAX;cont1++)
                           {
                           for(int cont2=cont1+1;cont2<MAX;cont2++)     
                                    {                                                                        
                                    if(VetorLista[cont1]==VetorLista[cont2])
                                             {
                                             aux++;
                                             }
                                    }       
                           if(aux==0)
                           
                           cout<<"\n"<<VetorLista[cont1]; 
                           naoRepetido[cont1] = VetorLista[cont1];
                           aux=0;
                           }
                            
         
           }        
       
          //3 Módulo - Procedimento para imprimir os modulos de cálculos. 
           void ImprimirVetor(int lista[])        
           {
           for(int cont=0;cont<MAX;cont++)
                   {
                   cout<<"\n"<<lista[cont];
                   }  
           }              
           
                 
//Corpo do Programa                   
int main ()
{
         const int tamanho = 10;
         int Numeros[tamanho] = {0,0,0,0,0,0,0,0,0,0};
         int cont=0;
                                                     
         int NumerosSemRepetir[tamanho] = {0,0,0,0,0,0,0,0,0,0};
         
         LerVetor(Numeros); 
         
         NumerosSemRepetir[tamanho]=Numeros[tamanho];
               
         cout<<"\n\n";
         cout<<"Lista de Numeros digitados: ";
         ImprimirVetor(Numeros);
         cout<<"\n\n";
         
         cout<<"Lista de Numeros sem repeticao: ";
         RetirarRepetidos(Numeros);
         cout<<"\n";         
         cout<<"\n";
         //ImprimirVetor(NumerosSemRepetir);
         
         
         cout<<" FiM do Programa ";
         
         system("pause");
         return 0;
     
}

 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sabes os conceitos da recursividade?

O que tens de fazer é olhar para os teus métodos e colocares uma condição onde vai sair do método, senão chama-se a si novamente passando o próximo valor como parâmetro e assim sucessivamente. Quando tiver feito n recursividades e cumprir a condição de paragem (como num ciclo), deixa de realizar a chamada recursiva. Assim de uma maneira muito primitiva são estes os príncipios.

O que deves fazer é tentares fazer por ti e se tiveres dúvidas específicas, colocas-as.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora