File tree 1 file changed +77
-0
lines changed
1 file changed +77
-0
lines changed Original file line number Diff line number Diff line change
1
+ #include < cstdlib>
2
+ #include < ctime>
3
+ #include < iostream>
4
+ #include < vector>
5
+ using namespace std ;
6
+
7
+ void generateCode (vector<vector<int >>& vec) {
8
+ int value = 0 ;
9
+ for (int i = 0 ; i < 4 ; i++) {
10
+ for (int j = 0 ; j < 4 ; j++) {
11
+ if (j & 1 ) {
12
+ value += vec[i][j];
13
+ }
14
+ }
15
+ }
16
+ vec[0 ][1 ] = (value - vec[0 ][1 ]) % 2 ;
17
+
18
+ value = 0 ;
19
+ for (int i = 0 ; i < 4 ; i++) {
20
+ for (int j = 2 ; j < 4 ; j++) {
21
+ value += vec[i][j];
22
+ }
23
+ }
24
+ vec[0 ][2 ] = (value - vec[0 ][2 ]) % 2 ;
25
+
26
+ value = 0 ;
27
+ for (int i = 0 ; i < 4 ; i++) {
28
+ for (int j = 0 ; j < 4 ; j++) {
29
+ if (i & 1 ) {
30
+ value += vec[i][j];
31
+ }
32
+ }
33
+ }
34
+ vec[1 ][0 ] = (value - vec[1 ][0 ]) % 2 ;
35
+
36
+ value = 0 ;
37
+ for (int i = 2 ; i < 4 ; i++) {
38
+ for (int j = 0 ; j < 4 ; j++) {
39
+ value += vec[i][j];
40
+ }
41
+ }
42
+ vec[2 ][0 ] = (value - vec[2 ][0 ]) % 2 ;
43
+
44
+ value = 0 ;
45
+ for (int i = 0 ; i < 4 ; i++) {
46
+ for (int j = 0 ; j < 4 ; j++) {
47
+ value += vec[i][j];
48
+ }
49
+ }
50
+ vec[0 ][0 ] = (value - vec[0 ][0 ]) % 2 ;
51
+ }
52
+
53
+ int main () {
54
+ srand (time (0 ));
55
+ vector<vector<int >> vec (4 , vector<int >(4 ));
56
+ for (int i = 0 ; i < 4 ; i++) {
57
+ for (int j = 0 ; j < 4 ; j++) {
58
+ vec[i][j] = rand () % 2 ;
59
+ }
60
+ }
61
+
62
+ generateCode (vec);
63
+ for (auto i : vec) {
64
+ for (auto j : i) {
65
+ cout << j << " " ;
66
+ }
67
+ cout << endl;
68
+ }
69
+ cout << " Generated code: " ;
70
+ for (auto i : vec) {
71
+ for (auto j : i) {
72
+ cout << j;
73
+ }
74
+ }
75
+ cout << endl;
76
+ return 0 ;
77
+ }
You can’t perform that action at this time.
0 commit comments