Foro Oficial De C++

Fibonacci

HOLA GENTE, TENGO ESTE CODIGO DE LA SERIE FIBONACCI RECURSIVO, QUIEN ME PUEDE HACER EL FAVOR DE EXPLICAME COMO HACER PARA QUE IMPRIMA TODA LA SERIE, YA QUE SOLO ME ESTA IMPRIMIENDO EL NUMERO FIBONACCI Q ENTRO.... AHI LES DEJO EL CODIGO PA Q ME ENTIENDAN
Código:
#include<iostream>
#include<conio.h>
using namespace std;
int fibo(int n);
main ()
{
int x;
 
     cout<<"Ingrese numero"<<endl;
     cin>>x;
     cout<<endl;
 
     x=fibo(x);
 
     cout<<"\n \n"<<x;
 
 
     getch();
}
int fibo(int n)
{
    if (n==1) return 0;
    else if(n==2) return 1;
    else  return fibo(n-1)+fibo(n-2);
}

UDS SON MI UNIKA SALVACION!!! POR FAA!!
 
HOLA! Me podrian ayudar a hacer una resta de strings en C++
x=7:25:06pm
y=7:25:09pm
Necesito restar x-y y que me de 3 q son los segundos de diferencia...los valores que toman x y y son tomados de la hora actual del sistema. Porfavor si alguien sabe y me contesta se lo agradecere mucho


Debes usar un operador CAST:
¿Cómo puedo convertir un número en una cadena y veceversa?
En nuestros programas es frecuente que tengamos que convetir un valor numérico a una cadena de caracteres.

La tarea inversa, convertir una cadena en un valor entero o en coma flotante, se realiza mediante funciones estándar, como atoi, para enteros o atof y atol, para números en coma flotante.

Esto nos puede hacer pensar, por extensión, que deben existir funciones inversas a estas, de la forma itoa o ftoa. Sin embargo esto no es así, y tales funciones no existen, al menos dentro del ANSI C.

Pero no está todo perdido. Las librerías estándar nos proporcionan otra función, mucho más flexible, para convertir cualquier valor numérico en una cadena. Se trata de la función sprintf. Esta función se comporta exactamente igual que sprintf, salvo que la cadena de salida se almacena en una cadena en lugar de mostrarse en pantalla.

La función sprintf está declarada en stdio.h, o cstdio si se usa C++, y tiene un número de parámetros variable, aunque al menos los dos primeros deben existir siempre. El primero es una cadena, o un puntero a char, donde se almacenará la cadena de salida. Esta cadena debe ser lo suficientemente larga como para contener la cadena de salida. El segundo parámetro es una plantilla o cadena de formato, con las secuencias % que se sustituirán por los parámetros restantes. Veamos unos ejemplos:

PHP:
 #include <stdio.h>
   char cad[15];

   sprintf(cad, "%6d", 232); /* La cadena tendrá el contenido "   232"
   sprintf(cad, "%6.2f", 332.2); /* La cadena tendrá el contenido "332.20"
   sprintf(cad, "%04x", 127); /* La cadena tendrá el contenido "007f"

Buscar en google y CConclase Is Tnx :|


SuerteX :)
 
Que tal bros como va la causa....

Bueno perdonadme desde ahora por todo lo que voy a decir, hablo desde mi ignorancia, todo lo que digo lo hago referente al uso del compilador de gcc en windows, auinque he comprobado el problema con los compiladores de borland y devc....bueno va la cosa:


Seguro que alguna vez han tratado de captura una linea con espacios usando cin o scanf....la solucion mas sencilla a esto es usar la funcion:
cin.getline(char* cadena, int longitud);

loque funciona muy bien siempre y cuendo hates no hayamos usado un cin o un sacnf, sucede que si esto ocurre me parece que el stream queda incompleto o abierto y se presenta el problema de que la linea cin.getline(); y la inmediatamente sigiente no se ejecutan o parecieran no hacerlo.

Creo que se trata de un problema a bajo nivel por 2 asuntos el primero que falla tanto con un cin previo como con un scanf lo que implica descartar una falla en la funcion, por otro lado observando los streams de archivos todos sabemos que se necesita cerrar uno previo antes de poder usar otro, creo que cin y scanf dejan abierto el stream y por eso cin.getline() falla. algo que apolla esta teoria es que usando un cin.get(); antes del cin.getline(); se soluciona parentemente el error siempre y cundo no se halla dado una falla en la captura anterior como capturar una letra en una variable entera o una cadena con espacios....

Bueno estoy atolondrado con esto, espero que alguno de ustedes mis sabios colegas pueda ayudarme con esto lio.....gracias de antemano.
 
por favor necesito su ayuda con el siguiente codigo... lo que necesito es saber q cambiarle, ponerle o no se para que cada vez que se mueva no se note cuando se imprime porfavor esque se mira mal... gracias de antemano

#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define X 20
#define Y 20
int l,x=2,y=1,i,j,tecla;
char mat[X][Y];
void imprimir(){
for(i=0;i<X;i++){
if(i!=0)
printf("\n");
for(j=0;j<Y;j++)
if(j==0)
printf("|%c|",mat[j]);
else
printf("%c|",mat[j]);
}}

void llenar(){
for(i=0;i<X;i++)
{ for(j=0;j<Y;j++)
mat[j]='$';
}
}

void main(){

llenar();

do{

switch (tecla) {

case 72 :y-=1; break;
case 80 : y+=1; break;
case 75 : x-=2; break;
case 77 : x+=2;break;

}

clrscr();

if(x>40) x=2;
if(y>20) y=1;
if(x<2) x=40;
if(y<1) y=20;

imprimir();
gotoxy(x,y);printf("*");

}while((tecla=getch())!=27);
getch();}
 
por favor necesito su ayuda con el siguiente codigo... lo que necesito es saber q cambiarle, ponerle o no se para que cada vez que se mueva no se note cuando se imprime porfavor esque se mira mal... gracias de antemano

#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define X 20
#define Y 20
int l,x=2,y=1,i,j,tecla;
char mat[X][Y];
void imprimir(){
for(i=0;i<X;i++){
if(i!=0)
printf("\n");
for(j=0;j<Y;j++)
if(j==0)
printf("|%c|",mat[j]);
else
printf("%c|",mat[j]);
}}

void llenar(){
for(i=0;i<X;i++)
{ for(j=0;j<Y;j++)
mat[j]='$';
}
}

void main(){

llenar();

do{

switch (tecla) {

case 72 :y-=1; break;
case 80 : y+=1; break;
case 75 : x-=2; break;
case 77 : x+=2;break;

}

clrscr();

if(x>40) x=2;
if(y>20) y=1;
if(x<2) x=40;
if(y<1) y=20;

imprimir();
gotoxy(x,y);printf("*");

}while((tecla=getch())!=27);
getch();}


Man, explique en que consiste ese codigo, porque la verdad no le veo sentido.... ahh y para cambiar una solo linea puede usar clreol



SuerteX :)
 
ps... este cod va a ser parte de un programa en el cual tengo q moverme por una matriz ya dibujada y el cursor es ese '*' lo q pasa sq cada vez q yo muevo el cursor imprime la matriz y se mira mal y eso es lo que yo quiero solucionar XFA!!!!
 
ps... este cod va a ser parte de un programa en el cual tengo q moverme por una matriz ya dibujada y el cursor es ese '*' lo q pasa sq cada vez q yo muevo el cursor imprime la matriz y se mira mal y eso es lo que yo quiero solucionar XFA!!!!

bueno entonces deberías borras todas las casillas y no la pantalla completa con el clrscr()
 
Código:
void limpiar(){
for(i=0;i<X;i++)
{ for(j=0;j<Y;j++)
mat[i][j]='';
}
}
así recorre tu matriz y le asigna en blanco para limpiar. :)
Te agradesco mucho tu respuesta... pero creo q no me has entendido muy bn...=)
lo que yo necesito sq: cada vez que que se mueva el cursor no se note como se imprime como te pudiste haber dado cuenta...
X favor...:'(
 
x favor buenos programadores:)
ayuden a alguien que no sabe...

Amigo te sugiero q utilices el botón editar para evitar tantos post seguidos.


pues sinceramente no entendí tu problema si la solución q sugerí no t funciona... ya que al borras el contenido de todas las casillas no tienes q re dibujar la matriz y solo cambiar de posición el cursor (*)


éxitos en tu solución..
 
Buenas amigos, estoy con un grave problema en mi clase de programacion,me dejaron estos ejercicios y estoy muy loco no he podido hacerlo correr en c ++,les agradezco su ayuda.
Estos son los ejercicios:
Plantear la solución algorítmica y en Lenguaje C a los siguientes problemas:
1. Leer dos números y conocer cual es el mayor
2. Solicitar una cantidad determinada de números, leerlos y mostrar su promedio
3. Crear un vector de 20 posiciones, llenarlos de números y mostrarlos
del último al primero
4. Implementar un algoritmo que tome el vector anteriormente creado y
lo invierta.
 
Buenas amigos, estoy con un grave problema en mi clase de programacion,me dejaron estos ejercicios y estoy muy loco no he podido hacerlo correr en c ++,les agradezco su ayuda.
Estos son los ejercicios:
Plantear la solución algorítmica y en Lenguaje C a los siguientes problemas:
1. Leer dos números y conocer cual es el mayor
2. Solicitar una cantidad determinada de números, leerlos y mostrar su promedio
3. Crear un vector de 20 posiciones, llenarlos de números y mostrarlos
del último al primero
4. Implementar un algoritmo que tome el vector anteriormente creado y
lo invierta.

compadre q semestre hace?
no creo q estos ejercicios lo tengan loco, aquí le ayudamos.
pero ponga de su parte para aprender.
 
Nojoda man esos ejercicios te vuelven loco...uhmmm cuando llegues a estructura de datos ó tecnicas de programacion te vas a morir....

te doy uno solo

inicio
entero n1,n2
escriba"Numero 1"
lea n1
escriba"Numero 2"
lea n2

si (n2>n1) entonces
escriba "Numero 2 es el mayor"
fin si

si (n1>n2) entonces
escriba "Numero 1 es el mayor"
fin si

si (n2==n1) entonces
escriba "Numero 2 es igual Numero 1"
fin si

fin inicio



este es para saber cual es el numero mayo....y la proxima estudie un poquito mas en google antes de colocar estos ejercicios hermano.. :)
 

Los últimos temas