Necesito ayuda para averiguar por que no funciona el siguiente programa en C++.

Iniciado por Enri_f99, 17 Noviembre 2017, 20:37 PM

0 Miembros y 1 Visitante están viendo este tema.

Enri_f99

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;
}

CalgaryCorpus

Tu ciclo while no cambia la condición.
Una vez false, siempre false.
Aqui mi perfil en LinkedIn, invitame un cafe aqui

Enri_f99

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?

CalgaryCorpus

Aqui mi perfil en LinkedIn, invitame un cafe aqui

MAFUS

Te falta actualizar i al siguiente fibonacci(n). Tal y como está, aunque actualices n, i se queda igual.


Enri_f99

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!