@@ -22,14 +22,17 @@ std::string joinVectorCharVector(const std::vector<std::vector<char> > &strings,
22
22
}
23
23
24
24
std::vector<std::string> v;
25
+ for (auto &chars: strings) {
26
+ std::string char_string (chars.begin (), chars.end ());
27
+ v.push_back (char_string);
28
+ }
25
29
26
30
27
- return std::accumulate (std::next (strings.begin ()), strings.end (), strings[0 ],
28
- [&](const std::string &a, const std::string &b) {
29
- return a + delimiter + b;
30
- });
31
+
32
+ return joinStringVector (v, delimiter);
31
33
}
32
34
35
+
33
36
char FILLER_CHAR = (char ) 11 ;
34
37
std::string FILLER (1 , FILLER_CHAR);
35
38
@@ -38,9 +41,16 @@ class CodeSqStrings {
38
41
static std::string code (const std::string &strng) {
39
42
long n = std::ceil (std::sqrt (strng.length ()));
40
43
41
- std::vector temp (n, std::vector (n, FILLER_CHAR));
44
+ std::vector temp (n, std::vector<char >(n, FILLER_CHAR));
45
+
46
+ for (int i = 0 ; i < strng.length (); ++i) {
47
+ int y = i / n;
48
+ int x = i % n;
49
+ temp[y][x] = strng[i];
50
+ }
51
+
42
52
43
- return joinStringVector (temp, " \n " );
53
+ return joinVectorCharVector (temp, " \n " );
44
54
}
45
55
46
56
static std::string decode (const std::string &strng) {
0 commit comments