Petro_zzz

new_lesson5

Aug 26th, 2022
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.12 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <Windows.h>
  4.  
  5. using namespace std;
  6.  
  7. void temperature() {
  8.     srand(time(0));
  9.     const int min_heat = 50;
  10.     const int diap_heat = 20;
  11.     const int size = 10;
  12.     const int num_points = 4;
  13.  
  14.     int heat[size][num_points];
  15.  
  16.     for (int n = 0; n < num_points; n++) {
  17.         for (int k = 0; k < size; ++k) {
  18.             heat[k][n] = 5*n +  min_heat + rand() % diap_heat;
  19.         }
  20.     }
  21.  
  22.     for (int k = 0; k < size; ++k) {
  23.         heat[k][2] = 0;
  24.     }
  25.  
  26.     for (int k = 0; k < size; ++k) {
  27.         for (int n = 0; n < num_points; n++) {     
  28.             cout << heat[k][n] << " ";
  29.         }
  30.         cout << endl;
  31.     }
  32.     cout << endl;
  33. }
  34.  
  35. void genArr2D(int sz1,           
  36.               int arr[][4],
  37.               int min = -10,
  38.               int max = 10) {
  39.     if (min > max)
  40.         swap(min, max);
  41.     for (int n = 0; n < 4; n++)
  42.         for (int k = 0; k < sz1; k++)
  43.             arr[k][n] = min + rand() % (max - min + 1);
  44. }
  45.  
  46. void showArr2D(int sz1, int arr[][4]) {
  47.     for (int n = 0; n < 4; n++){
  48.         for (int k = 0; k < sz1; k++) {
  49.             cout << arr[k][n] << " ";
  50.         }
  51.         cout << endl;
  52.     }
  53.     cout << endl;
  54. }
  55.  
  56. void arr_manipulation() {
  57.     //temperature();
  58.     int arr1[10][4];
  59.     genArr2D(10, arr1, 10, 20);
  60.     showArr2D(10, arr1);
  61.  
  62.     cout << endl;
  63.  
  64.     int arr2[10][4];
  65.     genArr2D(10, arr2, 50, 60);
  66.     showArr2D(10, arr2);
  67.  
  68.     cout << endl;
  69.     int arr3[10][4];
  70.     for (int k = 0; k < 10; k++)
  71.         for (int n = 0; n < 4; n++)
  72.             arr3[k][n] = arr2[k][n] + arr1[k][n];
  73.     showArr2D(10, arr3);
  74.  
  75.     cout << endl;
  76.     int arr4[20][4];
  77.     for (int k = 0; k < 10; k++)
  78.         for (int n = 0; n < 4; n++) {
  79.             arr4[k][n] = arr1[k][n];
  80.             arr4[k + 10][n] = arr2[k][n];
  81.         }
  82.     showArr2D(20, arr4);
  83.  
  84.     cout << endl;
  85.     int arr5[20][4];
  86.     for (int k = 0; k < 10; k++)
  87.         for (int n = 0; n < 4; n++) {
  88.             arr5[2 * k][n] = arr1[k][n];
  89.             arr5[2 * k + 1][n] = arr2[k][n];
  90.         }
  91.     showArr2D(20, arr5);
  92. }
  93.  
  94. void showDies(int N) {
  95.     char canv[5][9];
  96.     for (int k = 0; k < 5; k++)
  97.         for (int n = 0; n < 9; n++)
  98.             canv[k][n] = ' ';
  99.  
  100.     canv[0][0] = '+';
  101.     canv[0][8] = '+';
  102.     canv[4][0] = '+';
  103.     canv[4][8] = '+';
  104.  
  105.     for (int k = 1; k < 4; k++) {
  106.         canv[k][0] = '|';
  107.         canv[k][8] = '|';
  108.     }
  109.    
  110.     for (int k = 1; k < 8; k++) {
  111.         canv[0][k] = '-';
  112.         canv[4][k] = '-';
  113.     }
  114.  
  115.     switch (N)
  116.     {
  117.     case 1:
  118.         canv[2][2*2] = '*';
  119.         break;
  120.     case 2:
  121.         canv[1][1*2] = '*';
  122.         canv[3][3*2] = '*';
  123.         break;
  124.     case 3:
  125.         canv[1][3*2] = '*';
  126.         canv[3][3*2] = '*';
  127.         canv[3][1*2] = '*';
  128.         break;
  129.     case 4:
  130.         canv[1][1*2] = '*';
  131.         canv[3][3*2] = '*';
  132.         canv[3][1*2] = '*';
  133.         canv[1][3*2] = '*';
  134.         break;
  135.     case 5:
  136.         canv[2][2*2] = '*';
  137.         canv[1][1*2] = '*';
  138.         canv[3][3*2] = '*';
  139.         canv[3][1*2] = '*';
  140.         canv[1][3*2] = '*';
  141.         break;
  142.     case 6:
  143.         canv[1][1*2] = '*';
  144.         canv[2][1*2] = '*';
  145.         canv[3][1*2] = '*';
  146.         canv[1][3*2] = '*';
  147.         canv[2][3*2] = '*';
  148.         canv[3][3*2] = '*';
  149.         break;
  150.     default:
  151.         break;
  152.     }
  153.  
  154.     cout << "\n\n\n";
  155.     for (int k = 0; k < 5; k++) {
  156.         cout << "   ";
  157.         for (int n = 0; n < 9; n++)
  158.             cout << canv[k][n];
  159.         cout << endl;
  160.     }
  161. }
  162.  
  163. void animation() {
  164.     for (int k = 0; k < 10; k++) {
  165.         cout << "#" << endl;
  166.         Sleep(500);
  167.     }
  168.     cout << endl;
  169. }
  170.  
  171.  
  172. void genArr(int sz, int arr[]) {
  173.     for (int k = 0; k < sz; k++)
  174.         arr[k] = rand() % 100;
  175. }
  176.  
  177. void showArr(int sz, int arr[]) {
  178.     for (int k = 0; k < sz; k++)
  179.         cout << arr[k] << " ";
  180.     cout << endl;
  181. }
  182.  
  183. template <class T>
  184. void selectSort(long sz, T arr[]) {
  185.     int i, j, k;
  186.     T tmp;
  187.     // перебор по текущим значениям
  188.     for (i = 0; i < sz; i++) {
  189.         k = i;
  190.         tmp = arr[i];
  191.         // поиск минимума
  192.         for (j = i + 1; j < sz; j++) {
  193.             if (arr[j] > tmp) {
  194.                 k = j;
  195.                 tmp = arr[j];
  196.             }
  197.         }
  198.         // обмен текущего значения с минимальным
  199.         if (k != i) {
  200.             arr[k] = arr[i];
  201.             arr[i] = tmp;
  202.         }      
  203.     }
  204. }
  205.  
  206. void bubbleSort(long sz, int arr[]) {
  207.     int i, j;
  208.     int tmp;
  209.     for (i = 0; i < sz; i++)
  210.         for (j = sz - 1; j > 0; j--)
  211.             if (arr[j - 1] > arr[j]) {
  212.                 tmp = arr[j - 1];
  213.                 arr[j - 1] = arr[j];
  214.                 arr[j] = tmp;
  215.             }  
  216. }
  217.  
  218. void main() {
  219.     int arr[10];
  220.     genArr(10, arr);
  221.     showArr(10, arr);
  222.     //selectSort(10, arr);
  223.     bubbleSort(10, arr);
  224.     showArr(10, arr);
  225.  
  226.     //showDies(6);
  227. }
Advertisement
Add Comment
Please, Sign In to add comment