Advertisement
Garey

Element in range

Nov 27th, 2017
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.60 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int input_array(int *, size_t);
  6. int sum_in_interval(int *, size_t );
  7. void output_array(int *, size_t);
  8.  
  9. int main() {
  10.  
  11.     size_t array_size;
  12.  
  13.     cout << "Enter array size: ";
  14.     cin >> array_size;
  15.  
  16.     if (array_size < 0 || !cin || array_size > 30) {
  17.         cout << "Error: Invalid input!";
  18.         return 0;
  19.     }
  20.  
  21.     int *array = new int[array_size];
  22.  
  23.     // Input array
  24.     input_array(array, array_size);
  25.  
  26.     // Output array
  27.     output_array(array, array_size);
  28.  
  29.     // Sum in interval in array
  30.     cout << "Sum in interval: " << sum_in_interval(array, array_size) << endl;
  31.  
  32.     return 0;
  33. }
  34.  
  35. int input_array(int *array, size_t array_size) {
  36.     for (size_t i = 0; i < array_size; i++) {
  37.         cout << "Enter value for Element #" << i << ": ";
  38.         cin >> array[i];
  39.     }
  40.  
  41.     return *array;
  42. }
  43.  
  44. void output_array(int *array, size_t array_size) {
  45.  
  46.     cout << endl;
  47.  
  48.     for (size_t i = 0; i < array_size; i++)
  49.         cout << "Element #" << i << " has value of " << array[i] << endl;
  50. }
  51.  
  52. int sum_in_interval(int *array, size_t array_size) {
  53.    
  54.     // Декларираме си сумата и задаваме начална стойност
  55.     int sum = 0;
  56.    
  57.     // Декларираме ми две променливи, които ще държат числата за интервала
  58.     size_t min, max;
  59.  
  60.     // Въвеждаме си минималният елемент от интервала
  61.     cout << "\n\nEnter min to start from: ";
  62.     cin >> min;
  63.  
  64.     // Въвеждаме си максималният елемент от интервала
  65.     cout << "Enter max to end at: ";
  66.     cin >> max;
  67.  
  68.     // Обхождаме масивът
  69.     for (size_t i = 0; i < array_size; i++) {
  70.         // Проверяваме дали текущият елемент е по-голям от минималният елемент (променливата min)
  71.         // След това проверяваме дали е по-малък от максималният елемент (променливата max)
  72.         // И накрая проверяваме дали е положително число текущият елемент от масива
  73.         //
  74.         // Ако всичките тези условия са изпълнени, променливата sum присвоява стойността на
  75.         // досегашната си стойност + текущият елемент
  76.         if (array[i] > min && array[i] < max && array[i] > 0) {
  77.             sum += array[i];
  78.         }
  79.     }
  80.  
  81.     // Връщаме променливата, която държи сумата на всичките елементи в интервала
  82.     return sum;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement