valenki13

lesson_321_18

Oct 2nd, 2023
630
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.31 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void tast_battleship() {
  6.     for (int k = 1; k <= 8; k++) {
  7.         for (char ch = 'A'; ch <= 'H'; ch++) {
  8.             cout << ch << k << " ";
  9.         }
  10.         cout << endl;
  11.     }
  12. }
  13.  
  14. void task_color() {
  15.     cout << "\033[44;33mHello\033[0m" << endl;
  16.  
  17.     for (int mode = 0; mode < 110; mode++) {
  18.         cout << "\033[" << mode << "m "
  19.             << mode << " \033[0m";
  20.         if ((mode + 1) % 20 == 0) {
  21.             cout << endl;
  22.         }
  23.     }
  24. }
  25.  
  26. void vect_like_matr() {
  27.     const int n1 = 7;
  28.     const int n2 = 4;
  29.     //int matr[n1][n2];
  30.     int vect[n1 * n2];
  31.     for (int k = 0; k < n1; k++) {
  32.         for (int n = 0; n < n2; n++) {
  33.             vect[k * n2 + n] = k * n2 + n;
  34.             //matr[k][n] = k * n;
  35.         }
  36.     }
  37.  
  38.     for (int k = 0; k < n1; k++) {
  39.         for (int n = 0; n < n2; n++) {
  40.             cout.width(2);
  41.             cout << vect[k * n2 + n] << " ";
  42.         }
  43.         cout << endl;
  44.     }
  45.  
  46.  
  47. }
  48.  
  49. void test_memory() {
  50.     int v[]{ 1,2,3,4,5,6,7,8,9 };
  51.     int m[][3]{{1,2,3},{4,5,6},{7,8,9}};
  52.     int k = 250;
  53.  
  54.     cout << &k << endl;
  55.  
  56.     cout << v[0] << " "
  57.          << v << " "
  58.          << &(v[0]) << endl;
  59.    
  60.     cout << m[0][0] << " "
  61.         << m[0] << " "
  62.         << m << " "
  63.         << &(m[0]) << " "
  64.         << &(m[0][0]) << endl;
  65. }
  66.  
  67. int get_rand(int a, int b) {
  68.     return rand() % (b - a + 1) + a;
  69. }
  70.  
  71. const int width = 5;
  72. const int heigh = 6;
  73.  
  74. void gen_arr2d(int size1, int size2, int arr[][width]) {
  75.     for (int k = 0; k < size1; k++)
  76.         for (int n = 0; n < size2; n++)
  77.             arr[k][n] = get_rand(-10, 10);
  78. }
  79.  
  80. void show_arr2d(int size1, int size2, int arr[][width]) {
  81.    
  82.     for (int k = 0; k < size1; k++) {      
  83.         for (int n = 0; n < size2; n++) {
  84.             cout.width(3);
  85.             cout << arr[k][n] << " ";
  86.         }
  87.         cout << endl;
  88.     }
  89. }
  90.  
  91. void calc_arr2(int size1, int size2, int arr[][width]) {
  92.     for (int k = 0; k < size1; k++)
  93.         arr[k][size2 - 1] = 0;
  94.  
  95.     for (int n = 0; n < size2 - 1; n++)
  96.         arr[size1 - 1][n] = 0;
  97.  
  98.     for (int k = 0; k < size1 - 1; k++) {
  99.         for (int n = 0; n < size2 - 1; n++) {
  100.             arr[k][size2 - 1] += arr[k][n];
  101.             arr[size1 - 1][n] += arr[k][n];
  102.             arr[size1 - 1][size2 - 1] += arr[k][n];
  103.         }
  104.     }      
  105. }
  106.  
  107.  
  108. void rowcol_sum() {
  109.     int matr[heigh][width];
  110.     gen_arr2d(heigh-1, width-1, matr); 
  111.     calc_arr2(heigh, width, matr);
  112.     show_arr2d(heigh, width, matr);
  113. }
  114.  
  115. int main() {
  116.     srand(time(NULL));
  117.     //tast_battleship();
  118.     //task_color();
  119.     //test_memory();
  120.     //vect_like_matr();
  121.  
  122.     rowcol_sum();
  123.  
  124.     return 0;
  125. }
Advertisement
Add Comment
Please, Sign In to add comment