Filage

DynamicArr1

Mar 4th, 2024
714
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.29 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int sizeArray() {
  6.     int n;
  7.     cout << "Введите размер массива: ";
  8.     cin >> n;
  9.     return n;
  10. }
  11.  
  12. void inputArray(int size, int* arr) {
  13.     cout << "Введите элементы массива: \n";
  14.     for (int i = 0; i < size; i++) {
  15.         cout << "arr[" << i << "] = ";
  16.         cin >> *(arr + i);
  17.     }
  18. }
  19.  
  20. void findNegative(int& k, int* arr, int& size, int& count) {
  21.     int i = 0;
  22.     while (k < 0 && i < size) {
  23.         if (arr[i] < 0)
  24.             k = i;
  25.         i++;
  26.     }
  27.     while (count < 0 && i < size) {
  28.         if (arr[i] < 0)
  29.             count = i;
  30.         i++;
  31.     }
  32. }
  33.  
  34. void outputNegative(int k, int count, int* arr) {
  35.     int sum = 0;
  36. ;   if ((k + 1 > count) || (k == count)) {
  37.         cout << "В данном массиве меньше двух отрицательных элементов";
  38.     }
  39.     else {
  40.         cout << "Сумма элементов массива, расположенных между первым и вторым отрицательными элементами: ";
  41.         for (int j = k + 1; j < count; j++) {
  42.             sum += arr[j];
  43.         }
  44.         cout << sum;
  45.     }
  46. }
  47.  
  48. int main() {
  49.     setlocale(LC_ALL, "Russian");
  50.     int n, count = -1, k = -1;
  51.     n = sizeArray();
  52.     int* arr = new int[n];
  53.     inputArray(n, arr);
  54.     findNegative(k, arr, n, count);
  55.     outputNegative(k, count, arr);
  56.     delete[] arr;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment