C++ || Straight Forward
\nclass Solution {\npublic:\n    string decodeCiphertext(string text, int rows) {\n        int cols = text.length()/rows;\n        \n        char** array = new 
```\nclass Solution {\npublic:\n    string decodeCiphertext(string text, int rows) {\n        int cols = text.length()/rows;\n        \n        char** array = new char*[rows];\n        for(int i = 0; i < rows; i++)\n            array[i] = new char[cols];\n        \n        int index = 0;\n        for(int i = 0; i < rows; i++) {\n            for(int j = 0; j < cols; j++) \n                array[i][j] = text[index++];\n        }\n        \n        string ans = "";\n        for(int i = 0; i < cols; i++) {\n            int r = 0, c = i;\n            while(r < rows && c < cols) \n                ans += array[r++][c++];\n        }\n        \n        if(ans.size() == 0) \n            return ans;\n        \n        while(ans[ans.size()-1] == \' \') \n            ans.pop_back();\n        \n        return ans;\n    }\n};\n```
['C']