
Вантажний літак має пролетіти з вантажем із пункту А в пункт С через пункт В. Ємність бака для
палива в літака — 300 літрів. Споживання палива на 1 км залежно від ваги вантажу в літака наступне: ■ до 500 кг: 1 літрів/км; ■ до 1000 кг: 4 літрів/км; ■ до 1500 кг: 7 літрів/км; ■ до 2000 кг: 9 літрів/км; ■ більше ніж 2000 кг літак не піднімає. Користувач вводить відстань між пунктами А і В, і відстань між пунктами В і С, а також вагу вантажу. Програма має розрахувати, яка мінімальну кількість палива необхідна для дозаправки літака в пункті В, щоб долетіти з пункту А в пункт С. У разі неможливості подолати будь-яку з відстаней, програма має вивести повідомлення про неможливість польоту за введеним маршрутом. Допоможіть зробити в С++

Ответы на вопрос

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int AB, BC, weight, fuelAB, fuelBC, fuel;
cout << "Enter distance between A and B: ";
cin >> AB;
cout << "Enter distance between B and C: ";
cin >> BC;
cout << "Enter weight of cargo: ";
cin >> weight;
if (weight <= 500)
{
fuelAB = AB;
fuelBC = BC;
}
else if (weight <= 1000)
{
fuelAB = AB * 4;
fuelBC = BC * 4;
}
else if (weight <= 1500)
{
fuelAB = AB * 7;
fuelBC = BC * 7;
}
else if (weight <= 2000)
{
fuelAB = AB * 9;
fuelBC = BC * 9;
}
else
{
cout << "The plane does not lift more than 2000 kg." << endl;
return 0;
}
fuel = fuelAB + fuelBC;
if (fuelAB >= 300 || fuelBC >= 300)
{
cout << "Impossible to cover any of the distances." << endl;
}
else
{
cout << "Minimum fuel needed: " << fuel << endl;
cout << "Fuel needed for AB: " << fuelAB << endl;
cout << "Fuel needed for BC: " << fuelBC << endl;
}
return 0;
}





Звучить як цікава задача! Ось приклад реалізації програми у мові C++ для вирішення цього завдання:
cpp#include <iostream>
int main() {
double fuelCapacity = 300.0; // Ємність бака для палива в літрах
double fuelConsumption = 0.0; // Споживання палива на 1 км
double distanceAB = 0.0; // Відстань між пунктом А і В
double distanceBC = 0.0; // Відстань між пунктом В і С
double cargoWeight = 0.0; // Вага вантажу
// Зчитування введених даних від користувача
std::cout << "Введіть відстань між пунктом А і В (у кілометрах): ";
std::cin >> distanceAB;
std::cout << "Введіть відстань між пунктом В і С (у кілометрах): ";
std::cin >> distanceBC;
std::cout << "Введіть вагу вантажу (у кілограмах): ";
std::cin >> cargoWeight;
// Розрахунок споживання палива на 1 км залежно від ваги вантажу
if (cargoWeight <= 500) {
fuelConsumption = 1.0;
} else if (cargoWeight <= 1000) {
fuelConsumption = 4.0;
} else if (cargoWeight <= 1500) {
fuelConsumption = 7.0;
} else if (cargoWeight <= 2000) {
fuelConsumption = 9.0;
} else {
std::cout << "Літак не здатний підняти вантаж більше ніж 2000 кг." << std::endl;
return 0;
}
// Розрахунок необхідної кількості палива для пролету від пункту А до пункту С
double requiredFuel = fuelConsumption * (distanceAB + distanceBC);
// Перевірка на можливість пролету та розрахунок необхідної дозаправки
if (requiredFuel <= fuelCapacity) {
double refuelAmount = fuelCapacity - requiredFuel;
std::cout << "Для дозаправки літака в пункті В потрібно " << refuelAmount << " літрів палива." << std::endl;
} else {
std::cout << "Неможливо подолати заданий маршрут без дозаправки в пункті В." << std::endl;
}
return 0;
}
Ця програма спочатку запитує користув


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili