Petro_zzz

new_lesson1

Aug 17th, 2022
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.87 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using std::cout;
  4. using std::cin;
  5. using std::endl;
  6.  
  7. void unforget() {
  8.     std::cout << "Hello world" << std::endl;
  9.  
  10.     unsigned int val1 = 12;
  11.     short val2 = 3434;
  12.     long val3 = 314443;
  13.  
  14.     double pi_val = 3.14;
  15.     float pi_rrr = -12.345;
  16.  
  17.     char ch = 'f';
  18.  
  19.     int arr[5]{ 1,2,3,4,5 };
  20.  
  21.     for (int k = 0; k < 5; ++k) {
  22.         arr[k] = 5 - k;
  23.     }
  24.  
  25.     int n = 0;
  26.  
  27.     while (n < 5) {
  28.         ++n;
  29.         arr[n] = (n < 3) ? 1 : 2;
  30.     }
  31.  
  32.     do {
  33.         --n;
  34.         if ((n > 0) && (n < 3))
  35.             arr[n] = 0;
  36.         else
  37.             arr[n] -= 2;
  38.     } while (n >= 0);
  39.  
  40.     enum Mode { Sleep, Work };
  41.     Mode mode = Sleep;
  42.  
  43.     switch (mode)
  44.     {
  45.     case Sleep:
  46.         std::cout << "Sleep";
  47.         break;
  48.     case Work:
  49.         std::cout << "Work";
  50.         break;
  51.     default:
  52.         std::cout << "Unknown mode";
  53.         break;
  54.     }
  55.  
  56.     setlocale(LC_ALL, "Russian");
  57.  
  58.     std::cin >> val1;
  59. }
  60.  
  61. void reference() {
  62.     int a = 5;
  63.     cout << &a << " " << a << endl;
  64.     int veryLongAndnonComfortabeleName = 15;
  65.     int &val = veryLongAndnonComfortabeleName;
  66.     val++;
  67.     cout << veryLongAndnonComfortabeleName
  68.         << " " << val << endl;
  69.     cout << &veryLongAndnonComfortabeleName
  70.         << " " << &val << endl;
  71.     veryLongAndnonComfortabeleName = -123;
  72.     cout << veryLongAndnonComfortabeleName
  73.         << " " << val << endl;
  74.     cout << &veryLongAndnonComfortabeleName
  75.         << " " << &val << endl;
  76. }
  77.  
  78. void pointers() {
  79.     int val = 12;
  80.     int * pval = &val;
  81.  
  82.     cout << pval << " " << &val << endl;
  83.     cout << *pval << " " << val << endl;
  84.  
  85.     char ch = 'g';
  86.     char* pch = &ch;
  87.  
  88.     cout << std::hex << (int)(pch) << " " << (int)(&ch) << endl;
  89.     cout << *pch << " " << ch << endl;
  90. }
  91.  
  92. void pointers_vs_array() {
  93.     double arr[5]{ 0.1, 0.2, 0.3, 0.4, 0.5 };
  94.  
  95.     cout << *arr << " "
  96.         << *(&(arr[0])) << " "
  97.         << arr[0] << endl << endl;
  98.  
  99.     // arr[k] ~ *(arr + k)
  100.  
  101.     double* pa = &(arr[0]);
  102.     double* pb = &(arr[4]);
  103.  
  104.     cout << pa - pb << endl;
  105.  
  106.     cout << arr << " "
  107.         << arr + 1 << " "
  108.         << arr[0] << " "
  109.         << *(arr + 1) << endl;
  110.  
  111.     cout << endl;
  112.  
  113.     for (int k = 0; k < 5; ++k) {
  114.         cout << *(arr + k) << " ";
  115.     }
  116.     cout << endl;
  117.  
  118.     for (double* pk = arr; pk <= &(arr[4]); pk++) {
  119.         cout << *pk << " ";
  120.     }
  121.     cout << endl;
  122. }
  123.  
  124.    
  125. void maxVal() {
  126.     int a = 5;
  127.     int b = 10;
  128.     // дальше a и b - не используем
  129.     int* pa = &a;
  130.     int* pb = &b;
  131.     cout << ((*pa > *pb) ? (*pa) : (*pb));
  132.     cout << endl;
  133. }
  134.  
  135. void getSign() {   
  136.     int val = 0;
  137.     int *pval = &val;
  138.     cout << "Enter number: ";
  139.     cin >> *pval;
  140.     if (*pval > 0) {
  141.         cout << "positive";
  142.     } else if (*pval < 0) {
  143.         cout << "negative";
  144.     } else {
  145.         cout << "zero";
  146.     }
  147.     cout << endl;
  148. }
  149.  
  150. void my_swap1() {
  151.     int a = 5;
  152.     int b = 7;
  153.     //ваш код
  154.     int tmp = a;
  155.     a = b; 
  156.     b = tmp;
  157.     cout << a << " " << b << endl;
  158.     //надо: 7 5
  159. }
  160.  
  161. void my_swap2() {
  162.     int a = 5;
  163.     int b = 7;
  164.     //ваш код
  165.     a = a + b;
  166.     b = a - b;
  167.     a = a - b;
  168.     cout << a << " " << b << endl;
  169.     //надо: 7 5
  170. }
  171.  
  172. void logicBits() { 
  173.     int a = 5; // 101
  174.     int b = 6; // 110
  175.  
  176.     cout << a << " | " << b << " = "
  177.         << (a | b) << endl;
  178.     cout << a << " & " << b << " = "
  179.         << (a & b) << endl;
  180.     cout << a << " ^ " << b << " = "
  181.         << (a ^ b) << endl;
  182.  
  183.    
  184. }
  185.  
  186. void shift() {
  187.     int x = 1;
  188.     int y = 2;
  189.  
  190.     const int Ny = 4;
  191.     const int Nx = 3;
  192.  
  193.     while (x < 0)
  194.         x += Nx;
  195.     while (y < 0)
  196.         y += Ny;
  197.  
  198.  
  199.  
  200.     int arr[Ny][Nx]{ {1, 2, 3},
  201.                    {4, 5, 6},
  202.                    {7, 8, 9},
  203.                    {4, 6, 8} };
  204.  
  205.     for (int ky = 0; ky < Ny; ky++) {
  206.         for (int kx = 0; kx < Nx; kx++)
  207.             cout << arr[ky][kx] << " ";
  208.         cout << endl;
  209.     }
  210.  
  211.     int arr2[Ny][Nx];
  212.  
  213.     for (int ky = 0; ky < Ny; ky++)
  214.         for (int kx = 0; kx < Nx; kx++)
  215.             // тут правильная строчка кода
  216.    
  217.     for (int ky = 0; ky < Ny; ky++) {
  218.         for (int kx = 0; kx < Nx; kx++)
  219.             cout << arr2[ky][kx] << " ";
  220.         cout << endl;
  221.     }
  222.     /*
  223.     * in:
  224.     * 1 2 3
  225.     * 4 5 6
  226.     * 7 8 9
  227.     * 4 6 8
  228.     *
  229.     * out:
  230.     * 8 9 7
  231.     * 6 8 4
  232.     * 2 3 1
  233.     * 5 6 4
  234.     */
  235.  
  236. }
  237.  
  238. void main() {
  239.     shift();
  240. }
Advertisement
Add Comment
Please, Sign In to add comment