fork download
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4. double x,y,Xprep,Yprep,a,v,s,t,Tmax,t1;
  5. int otvet;
  6. const double g=9.8, pi=3.1415;
  7.  
  8. int main()
  9. {
  10. cout<<"Enter v="<<"\n";
  11. cin>>v;
  12. cout<<"Enter a="<<"\n";
  13. cin>>a;
  14. a=a*pi/180;
  15. cout<<"Введите координты перядсвтие:"<<"\n";
  16. cout<<"Введите на каком растоянии от начала полёта тела будет будет препядствие."<<"\n";
  17. cout<<"Enter Xprep="<<"\n";
  18. cin>>Xprep;
  19. cout<<"ВВедите высоту ввшего препядствия."<<"\n";
  20. cout<<"Enter Yprep="<<"\n";
  21. cin>>Yprep;
  22. //определяем время в которое тело может врезаться по координате Х
  23. t=Xprep/(v*cos(a));
  24. y=v*t*sin(a)-0.5*g*t*t;
  25. x=v*t*cos(a);
  26. if(y<0){
  27. cout<<"тело не попало в препядствие"<<"\n";
  28. }
  29. else{
  30. if(y<=Yprep){
  31. cout<<"Тело врезалось в препядствие:"<<"\n";
  32. cout<<"При координатаx:"<<"\n";
  33. x=v*t*cos(a);
  34. cout<<"X="<<x<<"\n";
  35. cout<<"Y="<<y<<"\n";
  36. cout<<"Время про столкновении:"<<"\n";
  37. cout<<"t="<<t<<"\n";
  38. }
  39. else{
  40. cout<<"Тело не попало в предядствие"<<"\n";
  41. }
  42.  
  43. cout<<"Построить троекторию полёта?"<<"\n";
  44. cout<<"Если ДА напишите'1',а если НЕТ напишите'0'"<<"\n";
  45. cout<<"Enter otvet="<<"\n";
  46. cin>>otvet;
  47.  
  48. switch (otvet) {
  49. case 1:
  50. {
  51. t1=0;
  52. cout<<"Получаем координаты:"<<"\n";
  53. while(t1<t){
  54. x=v*t1*cos(a);
  55. y=(v*t1*sin(a))-((g*pow(t1, 2))/2);
  56. if(y>=0)
  57. cout << "x = " << x <<"\t"<< "y = " << y <<"\t"<< "t = " << t1 <<"\n";
  58. else
  59. cout<<"Тело уже упало."<<"\n";
  60. t1=t1+0.01;
  61. }
  62. break;
  63. case 0:
  64. cout<<"Ну ладно."<<"\n";
  65. }
  66. }
  67.  
  68. }
  69. return 0;
  70. }
  71.  
Success #stdin #stdout 0s 4252KB
stdin
Standard input is empty
stdout
Enter v=
Enter a=
Введите координты перядсвтие:
Введите на каком растоянии от начала полёта тела будет будет препядствие.
Enter Xprep=
ВВедите высоту ввшего препядствия.
Enter Yprep=
Тело не попало в предядствие
Построить троекторию полёта?
Если ДА напишите'1',а если НЕТ напишите'0'
Enter otvet=
Ну ладно.