Ver Mensaje Individual
  #9 (permalink)  
Antiguo 09/05/2012, 10:42
patiurco
 
Fecha de Ingreso: mayo-2011
Ubicación: Toluca
Mensajes: 115
Antigüedad: 13 años
Puntos: 2
Respuesta: "Programa pelota"

Cita:
Iniciado por starfix Ver Mensaje
pudiste solucionar el problema?, porque en este codigo hay algunos errores por los cuales no termina el programa:

- linea 11: for(i==h;i>0;i--) el operador "==" se usa para comparacion, en el caso de que la variable de la izquierda sea igual a la de la derecha el operador va a retornar el valor true, de lo contrario devuelve false... en la primera parte tendrias que hacer una asignacion en lugar de una comparacion, pero igualmente te recomiendo que borres el for, se puede llegar a la solucion sin el

- en el do...while: la condicion para que siga es que brinco sea mayor a 0, pero el valor de brinco se calcula en base al valor de la altura, en este caso h. Si no modificas la altura, brinco va a seguir valiendo siempre lo mismo porque su valor se calcula siempre con los mismos numeros, entonces la idea es que dentro del do...while modifiques la altura, ya que en la realidad, cada vez que la pelota rebota su altura disminuye y el nuevo brinco sera menor.

- la condicion del do...while tendria que ser mayor a 1, ya que con esta funcion nunca va a llegar a 0, pero si es menor a 1 entonces sabes que va a estar valiendo 0,####

- la variable distancia tendria que ser un acumulador, ya que va aumentando cada vez que la pelota rebota


proba este codigo:

Código C++:
Ver original
  1. #include<iostream>
  2.  
  3. #include<conio.h>
  4. using namespace std;
  5.  
  6. int main()
  7.    
  8. {   float h,brinco=0,distancia=0, variacion=0;
  9.    
  10.     cout<<"Deme la altura de la que cayo su pelota: ";
  11.    
  12.     cin>>h;
  13.    
  14.     do  {
  15.                
  16.         brinco=(4*h)/5;
  17.                                
  18.         distancia+=(6*h)/4;
  19.                
  20.         variacion= h-brinco;
  21.                
  22.         h-=variacion;          
  23.         }
  24.     while(brinco>=1);
  25.    
  26.     cout<<"\nLa distancia que recorrio su pelota fue: "<<distancia;
  27.    
  28.     return 0;
  29. }

Hola starfix, tu código hace exactamente lo que buscaba que hiciera, y muchas gracias por tu respuesta, solo me queda hacerte una pregunta, para que sirven, los operadores que pones después de "distancia", y de "h" osea el + y el -, no sabia de ellos....