Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Enri_f99 en 17 Noviembre 2017, 20:37 pm



Título: Necesito ayuda para averiguar por que no funciona el siguiente programa en C++.
Publicado por: Enri_f99 en 17 Noviembre 2017, 20:37 pm
Hola!

He creado un pequeño programa en c++ el cual al decirle un número de dígitos, devuelve el primer termino de la serie de fibonacci con el número de dígitos indicado y la posición de ese termino en la serie. Sin embargo al ejecutalo e introducir el número de dígitos el programa deja de funcionar, si alguien me pudiera decir por que puede ser me sería de gran ayuda. Aquí dejo el código del programa , gracias por adelantado, un saludo.


#include <iostream>
#include  "../../biblioteca/Enteros/propiedades.h"
#include "../../biblioteca/Enteros/calculos.h" // Hago uso de unos módulos para poder utilizar ciertas funciones mas adelante como numCifras y fibonacci

using namespace std;

/*
 * Pre: ---
 * Post: Devuelve el primer término de la serie de Fibonacci con el número de cifras indicado
 * e indica la posición del término en la sucesión.
 *
 */
 
 void PrimerTermino(int d){
     int n = 0;
     int i = fibonacci(n); // La función fibonacci devuelve el n-ésimo término de la sucesión de Fibonnaci
     int term;
     bool encontrada = false;
     
      while(!encontrada){
          if(numCifras(i) == d){ 
              encontrada = true;
              term = n;
          } else {
              n++;}
      }
     
}
     
int main(){
     int d,i,term;
     
     cout << "Numero de digitos (0 o negativo de acabar): ";
     cin >> d;
     PrimerTermino(d);
     
     cout << i << "Es el termino " << term << " de la sucesion de Fibonacci"<<endl;
      cout << " y es el primero con " << d << "digitos" << endl;
     
      return 0;
}


Título: Re: Necesito ayuda para averiguar por que no funciona el siguiente programa en C++.
Publicado por: CalgaryCorpus en 17 Noviembre 2017, 21:51 pm
Tu ciclo while no cambia la condición.
Una vez false, siempre false.


Título: Re: Necesito ayuda para averiguar por que no funciona el siguiente programa en C++.
Publicado por: Enri_f99 en 17 Noviembre 2017, 22:26 pm
Tu ciclo while no cambia la condición.
Una vez false, siempre false.

Que me recomendarías que pusiera entonces?


Título: Re: Necesito ayuda para averiguar por que no funciona el siguiente programa en C++.
Publicado por: CalgaryCorpus en 18 Noviembre 2017, 06:39 am
Alguna condición que considere lo que cambie


Título: Re: Necesito ayuda para averiguar por que no funciona el siguiente programa en C++.
Publicado por: MAFUS en 18 Noviembre 2017, 19:23 pm
Te falta actualizar i al siguiente fibonacci(n). Tal y como está, aunque actualices n, i se queda igual.


Título: Re: Necesito ayuda para averiguar por que no funciona el siguiente programa en C++.
Publicado por: Enri_f99 en 19 Noviembre 2017, 11:58 am
Alguna condición que considere lo que cambie
Vale muchas gracias!


Título: Re: Necesito ayuda para averiguar por que no funciona el siguiente programa en C++.
Publicado por: Enri_f99 en 19 Noviembre 2017, 11:59 am
Te falta actualizar i al siguiente fibonacci(n). Tal y como está, aunque actualices n, i se queda igual.
Es verdad ni me había dado cuenta! gracias!