記得stringstream使用要初始化.....抓好久這個bug.......
程式碼:
#include <iostream> #include <string> #include <sstream> #include <vector> using namespace std; int main() { string plaintext; stringstream ss; while (getline(cin, plaintext)) { int temp, row = 0; vector<int> key; string s; ss.clear(); ss.str(""); getline(cin, s); ss << s; while (ss >> temp) // get each key { key.push_back(temp); row++; } char array[10000][10000] = { '\0' }; for (int i = 0; i < plaintext.size(); i++) // replace the data { if (plaintext[i] == ' ') array[i % row][i / row] = '_'; else array[i % row][i / row] = plaintext[i]; } for (int i = 0; i < row; i++) { for (int j = 0;; j++) { if (array[key[i]][j] != '\0') cout << array[key[i]][j]; else break; } } //for (int i = 0; i < row; i++) // for test //{ // for (int j = 0; j < row; j++) // cout << array[i][j]; // cout << endl; //} cout << endl; } return 0; }
沒有留言:
張貼留言