frustration

12 вариант. одномерный массив

Dec 19th, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.24 KB | None | 0 0
  1.  /*В одномерном массиве, состоящем из н вещ элементов, вычислить:
  2. 1)номер максимального по модулю элемента массива
  3. 2)сумму элементов массива, расположенных после первого положительного элемента
  4.  
  5. преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит
  6. в интервале [а...б], а потом все остальные */
  7.  
  8. #include <iostream>
  9. #include <time.h>
  10. #include <conio.h>
  11. #include <cmath>
  12. #include <memory>
  13.  
  14. using namespace std;
  15.  
  16. int main() {
  17.     int N, indmax = 0, indpos = -1;
  18.     float sum = 0, max;
  19.     cout << "size array: ";
  20.     cin >> N;
  21.  
  22.     float* arr = new float[N];
  23.  
  24.  
  25.     srand(time(NULL));
  26.     cout << "original array: " << "\n";
  27.     for (int i = 0; i < N-1; ++i) {
  28.         arr[i] = (float)(rand() % 1001) / 100 - 10;
  29.         cout << arr[i] << "   ";
  30.     }
  31.  
  32.     max = abs(arr[0]);
  33.  
  34.     for (int i = 1; i < N; ++i) {
  35.         if (max < abs(arr[i])) {
  36.             max = abs(arr[i]);
  37.             indmax = i;
  38.         }
  39.     }
  40.  
  41.     cout << "\n" << "1) index of max: " << indmax + 1 << "\n";
  42.  
  43.  
  44.  
  45.     for (int i = 0; i < N; ++i) {
  46.         if (arr[i] > 0) {
  47.             indpos = i;
  48.             break;
  49.         }
  50.     }
  51.  
  52.     if (indpos == -1)
  53.         cout << "2) array hasn't positive items " << "\n\n";
  54.     else if (indpos == N - 1)
  55.         cout << "2) positive item is last" << "\n\n";
  56.     else {
  57.         for (int i = indpos + 1; i < N; ++i)
  58.             sum += arr[i];
  59.         cout << "2) sum after first positive item: " << sum << "\n\n";
  60.     }
  61.  
  62.     int a, b;
  63.     cout << "[a...b]" << "\n";
  64.     cin >> a >> b;
  65.  
  66.  
  67.     for (int k = 0; k < N; k++)
  68.         for (int i = k + 1; i < N; i++)
  69.             if (int(arr[i]) >= a && int(arr[i]) <= b)
  70.                 swap(arr[k], arr[i]);
  71.  
  72.     cout << "new array with interval [" << a << ".." << b << "]: " << "\n";
  73.     for (int i = 0; i < N; ++i) {
  74.         cout << arr[i] << "   ";
  75.     }
  76.  
  77.     for (int i = 0; i < N - 1; ++i) {
  78.         for (int j = 0; j < N - 1; ++j) {
  79.             if (arr[j] > arr[j + 1])
  80.                 swap(arr[j], arr[j + 1]);
  81.         }
  82.     }
  83.  
  84.     cout << "\n\n" << "new array after bubble sort" << "\n";
  85.     for (int i = 0; i < N; ++i) {
  86.         cout << arr[i] << "   ";
  87.     }
  88.  
  89.     _getch();
  90.     return 0;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment