М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
GNOM888
GNOM888
29.05.2023 04:28 •  Информатика

C++ пользователь вводит прибыль фирмы за год (12 месяцев). затем пользователь вводит диапазон (например, 3 и 6 - поиск между 3-м и 6-м месяцем). необходимо определить месяц, в котором прибыль была максимальная и месяц, в котором прибыль была минимальная с учетом выбранного диапазона.​

👇
Ответ:
Bdof72005
Bdof72005
29.05.2023
Хорошо, давайте решим эту задачу шаг за шагом.

Первым шагом будет получение ввода от пользователя. Мы должны запросить у пользователя 12 значений - прибыль фирмы за каждый месяц. Давайте обозначим прибыль за каждый месяц переменными m1, m2, ..., m12. Мы можем использовать операторы ввода/вывода для этого.

```cpp
#include

int main() {
// Получение ввода от пользователя
int m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12;
std::cout << "Введите прибыль фирмы за каждый месяц:\n";
std::cin >> m1 >> m2 >> m3 >> m4 >> m5 >> m6 >> m7 >> m8 >> m9 >> m10 >> m11 >> m12;

// Ввод диапазона
int start_month, end_month;
std::cout << "Введите начальный и конечный месяцы диапазона:\n";
std::cin >> start_month >> end_month;

// Проверка на корректность ввода диапазона
if (start_month < 1 || start_month > 12 || end_month < 1 || end_month > 12) {
std::cout << "Некорректный ввод месяца. Пожалуйста, введите значения от 1 до 12.\n";
return 0;
}
```

На следующем шаге необходимо проверить, что введенный диапазон является корректным. Месяц должен быть от 1 до 12. Если диапазон некорректный, мы должны вывести сообщение об ошибке и закончить программу.

После получения ввода мы можем начать обработку данных. Мы итерируемся по указанному диапазону и пытаемся найти месяц с максимальной и минимальной прибылью.

```cpp
// Поиск месяца с максимальной и минимальной прибылью
int max_profit = m1;
int max_profit_month = 1;
int min_profit = m1;
int min_profit_month = 1;

for (int i = start_month; i <= end_month; i++) {
if (max_profit < m) {
max_profit = m;
max_profit_month = i;
}

if (min_profit > m) {
min_profit = m;
min_profit_month = i;
}
}

// Вывод результатов
std::cout << "Месяц с максимальной прибылью: " << max_profit_month << "\n";
std::cout << "Месяц с минимальной прибылью: " << min_profit_month << "\n";

return 0;
}
```

Находим месяц с максимальной и минимальной прибылью, сохраняя значения в соответствующих переменных. Мы идем по выбранному диапазону (от start_month до end_month) и сравниваем текущую прибыль (m) с максимальной и минимальной прибылью. Если текущая прибыль больше максимальной прибыли, мы обновляем значения максимальной прибыли и месяца. Если текущая прибыль меньше минимальной прибыли, мы обновляем значения минимальной прибыли и месяца.

Наконец, мы выводим результаты, используя оператор вывода.

Вот полный код программы:

```cpp
#include

int main() {
// Получение ввода от пользователя
int m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12;
std::cout << "Введите прибыль фирмы за каждый месяц:\n";
std::cin >> m1 >> m2 >> m3 >> m4 >> m5 >> m6 >> m7 >> m8 >> m9 >> m10 >> m11 >> m12;

// Ввод диапазона
int start_month, end_month;
std::cout << "Введите начальный и конечный месяцы диапазона:\n";
std::cin >> start_month >> end_month;

// Проверка на корректность ввода диапазона
if (start_month < 1 || start_month > 12 || end_month < 1 || end_month > 12) {
std::cout << "Некорректный ввод месяца. Пожалуйста, введите значения от 1 до 12.\n";
return 0;
}

// Поиск месяца с максимальной и минимальной прибылью
int max_profit = m1;
int max_profit_month = 1;
int min_profit = m1;
int min_profit_month = 1;

for (int i = start_month; i <= end_month; i++) {
int m = 0;

switch (i) {
case 1:
m = m1;
break;
case 2:
m = m2;
break;
case 3:
m = m3;
break;
case 4:
m = m4;
break;
case 5:
m = m5;
break;
case 6:
m = m6;
break;
case 7:
m = m7;
break;
case 8:
m = m8;
break;
case 9:
m = m9;
break;
case 10:
m = m10;
break;
case 11:
m = m11;
break;
case 12:
m = m12;
break;
default:
break;
}

if (max_profit < m) {
max_profit = m;
max_profit_month = i;
}

if (min_profit > m) {
min_profit = m;
min_profit_month = i;
}
}

// Вывод результатов
std::cout << "Месяц с максимальной прибылью: " << max_profit_month << "\n";
std::cout << "Месяц с минимальной прибылью: " << min_profit_month << "\n";

return 0;
}
```

Надеюсь, это поможет вам понять, как решить эту задачу! Если у вас есть еще вопросы, не стесняйтесь задавать.
4,4(13 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ