Test Foro de elhacker.net SMF 2.1

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
Cita de: CalgaryCorpus en 17 Noviembre 2017, 21:51 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
Cita de: CalgaryCorpus en 18 Noviembre 2017, 06:39 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
Cita de: 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.
Es verdad ni me había dado cuenta! gracias!