Petro_zzz

lesson17_321

Sep 20th, 2023
948
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.34 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int get_max(int size, int arr[]);
  6.  
  7. void get_max_arr(int size,
  8.     int arr1[],
  9.     int arr2[],
  10.     int arr_res[]);
  11.  
  12. int get_idmax(int size, int arr[]);
  13.  
  14. int get_idval(int size, int arr[], int val);
  15.  
  16. int get_rand(int a, int b) {
  17.     return rand() % (b - a + 1) + a;
  18. }
  19.  
  20. void show_arr(int size, int arr[]) {
  21.     for (int k = 0; k < size; k++)
  22.         cout << arr[k] << " ";
  23.     cout << endl;
  24. }
  25.  
  26. void gen_arr(int size, int arr[]) {
  27.     for (int k = 0; k < size; k++)
  28.         arr[k] = get_rand(-10, 10);
  29. }
  30.  
  31. void task0() {
  32.     const int size = 10;
  33.     int vects[size];
  34.     gen_arr(size, vects);
  35.     show_arr(size, vects);
  36.     int id = 3;
  37.     cout << vects[id] << " "    // значение
  38.         << id << " "            // индекс
  39.         << &(vects[id])         // адрес VRAM
  40.         << endl;
  41.  
  42.     cout << "max: " << get_max(size, vects) << endl;
  43.  
  44.     int vects2[size], max_vects[size];
  45.     gen_arr(size, vects2);
  46.     vects2[3] = 100;
  47.  
  48.     get_max_arr(size, vects, vects2, max_vects);
  49.  
  50.     show_arr(size, vects2);
  51.     show_arr(size, max_vects);
  52.  
  53.     int id_max = get_idmax(size, vects);
  54.     cout << id_max << " "
  55.         << vects[id_max] << endl;
  56.  
  57.     cout << "find -4 in :" << get_idval(size, vects, -4) << endl;
  58. }
  59.  
  60. int get_idmax(int size, int arr[]) {   
  61.     int max = arr[0];
  62.     int id_max = 0;
  63.  
  64.     for (int k = 1; k < size; k++) {
  65.         if (arr[k] > max) {
  66.             max = arr[k];
  67.             id_max = k;
  68.         }
  69.     }
  70.     //cout << max << endl;
  71.     return id_max;
  72. }
  73.  
  74. int get_idval(int size, int arr[], int val) {
  75.     for (int k = 0; k < size; k++) {
  76.         if (val == arr[k]) {
  77.             return k;
  78.         }
  79.     }
  80.     return -1;
  81. }
  82.  
  83. void test_swap_cpu() {
  84.     int a = 3, b = 7;
  85.     a = a + b;
  86.     b = a - b;
  87.     a = a - b;
  88.     cout << a << " " << b << endl;
  89. }
  90.  
  91. void test_swap_ram() {
  92.     int a = 3, b = 7;
  93.     int temp = b;
  94.     b = a;
  95.     a = temp;
  96.     cout << a << " " << b << endl;
  97. }
  98.  
  99. int get_max(int size, int arr[]) {
  100.     int max = arr[0];
  101.  
  102.     for (int k = 1; k < size; k++) {
  103.         if (arr[k] > max) {
  104.             max = arr[k];
  105.         }
  106.     }
  107.     //cout << max << endl;
  108.     return max;
  109. }
  110.  
  111. void get_max_arr(int size,
  112.                  int arr1[],
  113.                  int arr2[],
  114.                  int arr_res[])
  115. {
  116.     for (int k = 0; k < size; k++) {
  117.         arr_res[k] = (arr1[k] > arr2[k]) ? arr1[k] : arr2[k];
  118.         /*
  119.         if (arr1[k] > arr2[k])
  120.             arr_res[k] = arr1[k];
  121.         else
  122.             arr_res[k] = arr2[k];
  123.         */
  124.     }
  125. }
  126.  
  127. int main() {
  128.     srand(int(time(NULL)));
  129.     task0();
  130.     test_swap_ram();
  131.     test_swap_cpu();
  132.  
  133.     return 0;
  134. }
Advertisement
Add Comment
Please, Sign In to add comment