Advertisement
tranerius

9. Рандомные нечетные уникальные значения

Dec 11th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.91 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. int main() {
  4.     setlocale(LC_ALL, "ru");
  5.     srand(time(NULL));
  6.     const int size = 40; int odd[size], odd_1[size / 2], odd_2[size / 2], oddSum[size / 2], oddRandom = 0, minVal, maxVal; double sum = 0;
  7.     for (int i = 0; i < size; i++) {
  8.         oddRandom = (1 + rand() % 99);
  9.         if (oddRandom % 2 != 0) {
  10.             odd[i] = oddRandom;
  11.         }
  12.         else {
  13.             i--;
  14.             if (i < -1) {
  15.                 i = -1;
  16.             }
  17.             continue;
  18.         }
  19.     }
  20.     for (int i = 0; i < size; i++) {
  21.         for (int j = 0; j < size; j++) {
  22.             if (i == j) {
  23.                 continue;
  24.             }
  25.             if (odd[i] == odd[j]) {
  26.                 do {
  27.                     oddRandom = 1 + rand() % 99;
  28.                 } while (oddRandom % 2 == 0);
  29.                 odd[i] = oddRandom;
  30.                 j = -1;
  31.                 continue;
  32.             }
  33.         }
  34.     }
  35.     for (int i = 0; i < size; i++) {
  36.         sum = sum + odd[i];
  37.         std::cout << odd[i] << " ";
  38.     }
  39.     minVal = odd[0];
  40.     maxVal = odd[0];
  41.     for (int i = 0; i < size; i++) {
  42.         for (int j = 0; j < size; j++) {
  43.             if (odd[i] > odd[j]) {
  44.                 if (minVal > odd[j]) {
  45.                     minVal = odd[j];
  46.                 }
  47.             }
  48.             else if (odd[i] < odd[j]) {
  49.                 if (maxVal < odd[j]) {
  50.                     maxVal = odd[j];
  51.                 }
  52.             }
  53.         }
  54.     }
  55.     std::cout << "\nСумма элементов массива равна " << sum << ". Среднее значение элементов массива равно " << sum / (sizeof(odd) / sizeof(int)) << std::endl;
  56.     std::cout << "Самое маленькое значение равно " << minVal << ". Самое большое значение равно " << maxVal << std::endl;
  57.     std::cout << "Элементы первого массива (первая половина основного массива): ";
  58.     for (int i = 0; i < (size / 2); i++) {
  59.         odd_1[i] = odd[i];
  60.         std::cout << odd_1[i] << " ";
  61.     }
  62.     std::cout << "\nЭлементы второго массива (вторая половина основного массива): ";
  63.     for (int i = (size / 2); i < size; i++) {
  64.         odd_2[i - (size / 2)] = odd[i];
  65.         std::cout << odd_2[i - (size / 2)] << " ";
  66.     }
  67.     std::cout << "\Сумма элементов первого и второго массивов: ";
  68.     for (int i = 0; i < (size / 2); i++) {
  69.         oddSum[i] = odd_1[i] + odd_2[i];
  70.         std::cout << oddSum[i] << " ";
  71.     }
  72.     minVal = oddSum[0];
  73.     maxVal = oddSum[0];
  74.     for (int i = 0; i < (size / 2); i++) {
  75.         for (int j = 0; j < (size / 2); j++) {
  76.             if (i == j) {
  77.                 continue;
  78.             }
  79.             if (oddSum[i] > oddSum[j]) {
  80.                 if (oddSum[j] < minVal) {
  81.                     minVal = oddSum[j];
  82.                 }
  83.             }
  84.             else if (oddSum[i] < oddSum[j]) {
  85.                 if (oddSum[j] > maxVal) {
  86.                     maxVal = oddSum[j];
  87.                 }
  88.             }
  89.         }
  90.     }
  91.     sum = 0;
  92.     for (int i = 0; i < (size / 2); i++) {
  93.         sum = sum + oddSum[i];
  94.     }
  95.     std::cout << "\Самое большое значение массива с сумированными элементами " << maxVal << ". —амое маленькое " << minVal << std::endl;
  96.     std::cout << "Сумма элементов равна " << sum << std::endl;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement