Advertisement
avr39-ripe

multipleReturnFromfunction

Apr 1st, 2020
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.70 KB | None | 0 0
  1. bool minMaxArr(int* arr, int arrSize, int& min, int& max, float& avg)
  2. {
  3.     if (arrSize <= 0) return false;
  4.     min = 0;
  5.     max = 0;
  6.     int sum{ 0 };
  7.  
  8.     for (int i{ 0 }; i < arrSize; ++i)
  9.     {
  10.         min = (arr[min] < arr[i] ? min : i);
  11.         max = (arr[max] > arr[i] ? max : i);
  12.         sum += arr[i];
  13.     }
  14.     avg = (float)sum / arrSize;
  15.     return true;
  16. }
  17.  
  18.  
  19. int main()
  20. {
  21.     const int  arrSize{ 10 };
  22.     int arr[arrSize] = { 6,1,4,2,8,9,11,3,2,1 };
  23.     int minIdx{ 0 };
  24.     int maxIdx{ 0 };
  25.     float arrAvg{ 0 };
  26.  
  27.     if (minMaxArr(arr, arrSize, minIdx, maxIdx, arrAvg))
  28.     {
  29.         std::cout << "Min = " << arr[minIdx] << " Max = " << arr[maxIdx] << " avg = " << arrAvg << '\n';
  30.     }
  31.     else
  32.     {
  33.         std::cout << "Bad call to minMaxArr!\n";
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement