11 ifstream in
; in
.open("database.in");
12 ofstream out
; out
.open("database.out");
20 pair
<string
, int>* pairs
= new pair
<string
, int>[n
* m
];
21 for (int i
= 0; i
< n
; i
++) {
24 for (int j
= 0; j
< m
- 1; j
++) {
25 in
.getline(buffer
, sizeof(buffer
) / sizeof(char), ',');
26 pairs
[j
* n
+ i
] = pair
<string
, int>(buffer
, j
* n
+ i
);
29 in
.getline(buffer
, sizeof(buffer
) / sizeof(char), '\n');
30 pairs
[(m
- 1) * n
+ i
] = pair
<string
, int>(buffer
, (m
- 1) * n
+ i
);
33 sort(pairs
, pairs
+ n
* m
);
35 int* a
= new int[n
* m
];
38 for (int i
= 0; i
< n
* m
; i
++) {
39 if (prev
!= pairs
[i
].first
) {
40 prev
= pairs
[i
].first
;
43 a
[pairs
[i
].second
] = index
;
46 for (int c1
= 0; c1
< m
; c1
++) {
47 for (int c2
= c1
+ 1; c2
< m
; c2
++) {
48 int* col1
= a
+ c1
* n
;
49 int* col2
= a
+ c2
* n
;
50 for (int r1
= 0; r1
< n
; r1
++) {
53 for (int r2
= r1
+ 1; r2
< n
; r2
++) {
54 if (val1
== col1
[r2
] && val2
== col2
[r2
]) {
56 out
<< (r2
+ 1) << " " << (r1
+ 1) << endl
;
57 out
<< (c1
+ 1) << " " << (c2
+ 1) << endl
;