Advertisement
Guest User

Untitled

a guest
Sep 25th, 2019
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.15 KB | None | 0 0
  1. #include <fstream>
  2. #include <iostream>
  3. #include <cmath>
  4.  
  5. using namespace std;
  6.  
  7. int** VVOD(int& n, int& m, int& k, char* input)
  8. {
  9.     fstream in(input, ios::in);
  10.     int** arr = NULL;
  11.  
  12.     in >> n >> m >> k;
  13.     arr = new int*[n];
  14.     for (int i = 0; i < n; i++)
  15.     {
  16.         arr[i] = new int[m];
  17.     }
  18.     for (int i = 0; i < n; i++)
  19.     {
  20.         for (int j = 0; j < m; j++)
  21.         {
  22.             in >> arr[i][j];
  23.         }
  24.     }
  25.     return arr;
  26.  
  27. }
  28.  
  29. int* act(int n, int m, int& k, int** DATA)
  30. {
  31.     k = pow(2, k);
  32.     int* RES = new int[k];
  33.     for (int i = 0; i < k; i++)
  34.     {
  35.         RES[i] = 0;
  36.     }
  37.     for (int i = 0; i < n; i++)
  38.     {
  39.         for (int j = 0; j < m; j++)
  40.         {
  41.             RES[DATA[i][j]]++;
  42.         }
  43.     }
  44.  
  45.     for (int i = 0; i < n; i++)
  46.     {
  47.         delete[] DATA[i];
  48.     }
  49.  
  50.     delete[] DATA;
  51.  
  52.     return RES;
  53. }
  54.  
  55.  
  56. void Zapis(int* RES, int k, char* output)
  57. {
  58.     fstream out(output, ios::out);
  59.     out << k << endl;
  60.     for (int i = 0; i < k; i++)
  61.     {
  62.         out << RES[i] << " ";
  63.     }
  64.     out << endl;
  65.     delete[] RES;
  66. }
  67.  
  68. int main()
  69. {
  70.     int** DATA = NULL, *RES;
  71.     int n, m, k;
  72.     char input[] = "input.txt";
  73.     char output[] = "output.txt";
  74.     DATA = VVOD(n, m, k, input);
  75.     RES = act(n, m, k, DATA);
  76.     Zapis(RES, k, output);
  77.    
  78.     return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement