Advertisement
enkov

Зад.2.1. Масиви със сл. числа и обработката им

Sep 21st, 2019
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.33 KB | None | 0 0
  1. #include "stdafx.h"
  2.  
  3. /*
  4. Задача 2. (Без въвеждане от конзолата)
  5. 2.1) Генерирайте 5 масива с 10 елемента, които са случайни цели числа
  6. в интервала [0, 100]. Отпечатайте масивите!
  7. За всеки масив изведете средно-аритметично на числата,
  8. които се делят на 3 без остатък.
  9. За всеки масив изведете минималната стойност.
  10. Изведете максималната стойност от минималните стойности по масиви.
  11. Отпечатайте сортираните масиви (в нарастващ ред)!
  12. */
  13.  
  14. #include <iostream>
  15. #include <cmath>
  16. #include <stdlib.h>     /* srand, rand */
  17. #include <time.h>       /* time */
  18. using namespace std;
  19.  
  20.  
  21. int main()
  22. {
  23.     /* initialize random seed: */
  24.     srand((unsigned int)time(NULL));
  25.  
  26.     // двумерен масив 5 х 10 0..4, 0..9 - 5-те масива са част от двумерен
  27.     int nums[5][10];
  28.    
  29.     // задаваме случайни цели числа [0..100]Генерирайте 5 масива с 10 елемента, които са случайни цели числа в интервала[0, 100].
  30.     for (int i = 0; i < 5; i++)
  31.         for (int j = 0; j < 10; j++)
  32.             nums[i][j] = rand() % 101; // ост. от дел на 101 е 0..100
  33.  
  34.     // Отпечатайте масивите!
  35.     for (int i = 0; i < 5; i++)
  36.     {
  37.         cout << "Masiv " << i+1 << ": ";
  38.         for (int j = 0; j < 10; j++)
  39.             cout << nums[i][j] << " ";
  40.         cout << endl;
  41.     }
  42.  
  43.     // За всеки масив изведете средно - аритметично на числата, които се делят на 3 без остатък.
  44.     for (int i = 0; i < 5; i++)
  45.     {
  46.         int n = 0; float sredno = 0;
  47.         for (int j = 0; j < 10; j++)
  48.             if (nums[i][j] % 3 == 0)
  49.             {
  50.                 n++;
  51.                 sredno = sredno + nums[i][j];
  52.             }
  53.         if (n > 0)
  54.         {
  55.             sredno = sredno / n;
  56.             cout << "Masiv " << i + 1 << ": sredno ot delimite na 3 = " << sredno << endl;
  57.         }
  58.         else cout << "Masiv " << i + 1 << " nqma delimi na 3 chisla." << endl;
  59.     }
  60.  
  61.     // За всеки масив изведете минималната стойност. Ще следим макс. ст-ст.
  62.     int max_mins = 0;
  63.     for (int i = 0; i < 5; i++)
  64.     {
  65.         int min = nums[i][0];
  66.         for (int j = 1; j < 10; j++)
  67.             if (nums[i][j] < min)
  68.                 min = nums[i][j];
  69.         if (min > max_mins) max_mins = min;
  70.         cout << "Masiv " << i + 1 << ": minimalnoto chislo e " << min << endl;
  71.     }
  72.  
  73.     // Изведете максималната стойност от минималните стойности по масиви.
  74.     cout << "Maks. st-st ot min. st-sti e " << max_mins << endl;
  75.  
  76.     // Отпечатайте сортираните масиви (в нарастващ ред)!
  77.     for (int k = 0; k < 5; k++) // k e номер на масива
  78.     {
  79.         for (int i = 0; i < 10-1; i++)
  80.         {
  81.             int min_nomer = i;
  82.             for (int j = i + 1; j < 10; j++)
  83.                 if (nums[k][j] < nums[k][min_nomer])
  84.                     min_nomer = j;
  85.             swap(nums[k][i], nums[k][min_nomer]);
  86.         }
  87.     }
  88.     for (int i = 0; i < 5; i++)
  89.     {
  90.         cout << "Masiv " << i + 1 << " sortiran: ";
  91.         for (int j = 0; j < 10; j++)
  92.             cout << nums[i][j] << " ";
  93.         cout << endl;
  94.     }
  95.  
  96.  
  97.     return 0;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement