Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Задание 2. Пользователь вводит прибыль фирмы за год (12 месяцев).
- Затем пользователь вводит диапазон (например, 3 и 6 — поиск между 3-м и 6-м месяцем).
- Необходимо определить месяц, в котором прибыль была максимальна и месяц, в котором прибыль была минимальна с учетом выбранного диапазона.*/
- #include <iostream>
- int main()
- {
- const int month{ 12 }; //Константа размера массива (12 месяцев)
- int income[month]{1,2,3,4,5,6,7,8,9,10,11,12}; //Массив с данными о прибыли по месяцам
- int monthStart{ 0 }; //Номер месяца, с которого начинается поиск
- int monthEnd{ 0 }; //Номер месяца, на котором заканчивается поиск
- for (int i{ 0 }; i < month; ++i)
- {
- std::cout << "Enter income for ";
- if(i == 0){ std::cout << "January: "; }
- else if (i == 1){ std::cout << "February: "; }
- else if (i == 2){ std::cout << "March: "; }
- else if (i == 3){ std::cout << "April: "; }
- else if (i == 4){ std::cout << "May: "; }
- else if (i == 5){ std::cout << "June: "; }
- else if (i == 6){ std::cout << "July: "; }
- else if (i == 7){ std::cout << "August: "; }
- else if (i == 8){ std::cout << "September: "; }
- else if (i == 9){ std::cout << "October: "; }
- else if (i == 10){ std::cout << "November: "; }
- else{ std::cout << "December: "; }
- std::cin >> income [i];
- }
- std::cout << "\nEnter the range in which you'd like to search for minimum and maximum income:\n";
- std::cout << "Enter a month number to start search at: ";
- std::cin >> monthStart;
- std::cout << "Enter a month number to end search at: ";
- std::cin >> monthEnd;
- //Опционально можно включить защиту от перепутывания начала и конца диапазона
- //if (monthStart > monthEnd)
- //{
- // int tmp{ monthStart };
- // monthStart = monthEnd;
- // monthEnd = tmp;
- //}
- --monthStart; //Номер месяца, введенный пользователем, нужно уменьшить на 1 для соотвествия нумерации в массиве
- int maxIncome{ monthStart }; //Индекс месяца с максимальным доходом в заданном диапазоне
- int minIncome{ monthStart }; //Индекс месяца с минимальным доходом в заданном диапазоне
- for (int i{ monthStart }; i < monthEnd; ++i)
- {
- if (income[i] > income[maxIncome])
- {
- maxIncome = i;
- }
- else if (income[i] < income[minIncome])
- {
- minIncome = i;
- }
- }
- std::cout << "\nMinimum income month number is: " << minIncome +1 << '\n'; //Для вывода корректного номера месяца (для пользователя) нужно к индексу месяца в массиве прибавить 1
- std::cout << "Maximum income month number is: " << maxIncome +1 << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement