記得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;
}
沒有留言:
張貼留言