Advertisement
avr39ripe

cppMatikoMaxMinMonthIncime

Mar 29th, 2021
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.38 KB | None | 0 0
  1. /*Задание 2. Пользователь вводит прибыль фирмы за год (12 месяцев).
  2. Затем пользователь вводит диапазон (например, 3 и 6 — поиск между 3-м и 6-м месяцем).
  3. Необходимо определить месяц, в котором прибыль была максимальна и месяц, в котором прибыль была минимальна с учетом выбранного диапазона.*/
  4.  
  5. #include <iostream>
  6.  
  7. int main()
  8. {
  9.     const int month{ 12 }; //Константа размера массива (12 месяцев)
  10.     int income[month]{1,2,3,4,5,6,7,8,9,10,11,12}; //Массив с данными о прибыли по месяцам
  11.     int monthStart{ 0 }; //Номер месяца, с которого начинается поиск
  12.     int monthEnd{ 0 }; //Номер месяца, на котором заканчивается поиск
  13.  
  14.     for (int i{ 0 }; i < month; ++i)
  15.     {
  16.         std::cout << "Enter income for ";
  17.  
  18.         if(i == 0){ std::cout << "January: "; }
  19.         else if (i == 1){ std::cout << "February: "; }
  20.         else if (i == 2){ std::cout << "March: "; }
  21.         else if (i == 3){ std::cout << "April: "; }
  22.         else if (i == 4){ std::cout << "May: "; }
  23.         else if (i == 5){ std::cout << "June: "; }
  24.         else if (i == 6){ std::cout << "July: "; }
  25.         else if (i == 7){ std::cout << "August: "; }
  26.         else if (i == 8){ std::cout << "September: "; }
  27.         else if (i == 9){ std::cout << "October: "; }
  28.         else if (i == 10){ std::cout << "November: "; }
  29.         else{ std::cout << "December: "; }
  30.  
  31.         std::cin >> income [i];
  32.     }
  33.     std::cout << "\nEnter the range in which you'd like to search for minimum and maximum income:\n";
  34.     std::cout << "Enter a month number to start search at: ";
  35.     std::cin >> monthStart;
  36.     std::cout << "Enter a month number to end search at: ";
  37.     std::cin >> monthEnd;
  38.  
  39.     //Опционально можно включить защиту от перепутывания начала и конца диапазона
  40.     //if (monthStart > monthEnd)
  41.     //{
  42.     //    int tmp{ monthStart };
  43.     //    monthStart = monthEnd;
  44.     //    monthEnd = tmp;
  45.     //}
  46.  
  47.     --monthStart; //Номер месяца, введенный пользователем, нужно уменьшить на 1 для соотвествия нумерации в массиве
  48.  
  49.     int maxIncome{ monthStart }; //Индекс месяца с максимальным доходом в заданном диапазоне
  50.     int minIncome{ monthStart }; //Индекс месяца с минимальным доходом в заданном диапазоне
  51.  
  52.     for (int i{ monthStart }; i < monthEnd; ++i)
  53.     {
  54.  
  55.         if (income[i] > income[maxIncome])
  56.         {
  57.             maxIncome = i;
  58.         }
  59.         else if (income[i] < income[minIncome])
  60.         {
  61.             minIncome = i;
  62.         }
  63.     }
  64.  
  65.     std::cout << "\nMinimum income month number is: " << minIncome +1 << '\n'; //Для вывода корректного номера месяца (для пользователя) нужно к индексу месяца в массиве прибавить 1
  66.     std::cout << "Maximum income month number is: " << maxIncome +1 << '\n';
  67.  
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement