Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Срочно нужно решить.Ответьте пожалуйста.

Библиотекарь решил произвести небольшой ремонт на кухне. Для установки вытяжки ему нужно понять, на какую высоту могут взлетать котлеты, когда он их переворачивает, подбрасывая сковородку. Говоря иначе, ему нужно подсказать, на какой высоте будут котлеты спустя указанное время. Также библиотекарь обещал прислать начальную скорость, с которой взлетает котлета. Также у него стоит небольшой грави-генератор, так что ускорение свободного падения он также пришлет.

Загляни в примечания, там находится точная формула для расчета.

К слову о грави-генераторе. У библиотекаря иногда еда вот так леветирует.

Формат входных данных
Три целых числа:
Стартовая скорость котлеты - v
Время, в которое интересна высота - t
Ускорение свободного падения на кухне библиотекаря - g

Формат выходных данных
Вывести текущую высоту(целым числом) в формате: "Height is ANSWER", где Answer - посчитанное значение.

Примечания
Формула для расчета высоты:

S = v*t - (g*t*t)/2

S- текущая высота

входные данные выходные данные
10
3
10
Height is -15
30
2
5
Height is 50

По дате
По рейтингу
Аватар пользователя
Новичок

Единственное, что хотелось бы уточнить - на каком языке программирования это нужно сделать - нет, я вижу, что вопрос размещен в категории C/C++, но дело в том, что это - несколько разные языки. Так на каком именно делать?

Ладно, напишу и на том, и на том.

Итак, C++:

123456789101112131415161718
 #include <iostream> 
#include <cmath> 
using namespace std; 
int main () 
{ 
    setlocale (LC_ALL, "RUS"); 
    long double g, t, v; 
    cout<<"Введите с клавиатуры значения скорости котлеты, времени полета котлеты и ускорения свободного падения (только числа). После ввода каждого из значений нажимайте клавишу Enter. При вводе дробных значений целую часть от дробной отделяйте точкой, а не запятой.\n"; 
    cout<<"Введите скорость котлеты: "; 
    cin>>v; 
    cout<<"\nВведите время полета котлеты: "; 
    cin>>t; 
    cout<<"\nВведите ускорение свободного падения: "; 
    cin>>g; 
    cout<<"\nHeight is: "<<v*t-(g*pow (t, 2))/2; 
    getchar (); 
    return 0; 
} 

C:

12345678910111213141516
 #include <stdio.h> 
#include <math.h> 
int main () 
{ 
    long double g, t, v; 
    printf ("Введите с клавиатуры значения скорости котлеты, времени полета котлеты и ускорения свободного падения (только числа). После ввода каждого из значений нажимайте клавишу Enter. При вводе дробных значений целую часть от дробной отделяйте точкой, а не запятой.\n"); 
    printf ("Введите скорость котлеты: "); 
    scanf ("%Lf", &v); 
    printf ("\nВведите время полета котлеты: "); 
    scanf ("%Lf", &t); 
    printf ("\nВведите ускорение свободного падения: "); 
    scanf ("%Lf", &g); 
    printf ("\nHeight is: %Lf", v*t-(g*pow (t, 2))/2); 
    getchar (); 
    return 0; 
} 
Аватар пользователя
Искусственный Интеллект

Библиотекарь - инженер - повар? Да всё на си + ?
Вы чё там курите все?

Аватар пользователя
Мастер

Должно быть как то так:

1
 #include <iostream> 
12345678910
 int main(){ 
 
  int v0, t,g;
  std::cout << "Please provide Velocity, Time, Gravity separated by ' ' space:";
  std::cin >> v0 >> t >> g;
  std::cout << "Height is " << v0*t - t*t*g/2 << std::endl; 
  
  std::cout << "Press enter to finish"; 
  std::cin >> v0;
} 

Проблемы могут быть в округлении при делении на 2. Оно всегда будет в меньшую сторону. Но можно например добавить что-нибудь на подобии :
-(t%2)*(g%2)?1:0 к вычислению. Если это критично.