ulvis.paste.net

Paste Search Dynamic
Recent pastes
string text
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.  // 490 - Rotating Sentences
  6.  string text;
  7.  string t[100][100];//使用者輸入
  8.  string c[100][100];//轉置矩陣
  9.  string r[100][100];//結果
  10.  int count[100];
  11.  int col = 0;//計算有幾行的文字
  12.  int max = -1;//紀錄最長的句子有多少字
  13.  //矩陣歸零
  14.  for(int i = 0;i < 100;i++)
  15.  {
  16.   for(int j = 0;j < 100;j++)
  17.   {
  18.    t[i][j] = " ";
  19.    c[i][j] = " ";
  20.    r[i][j] = " ";
  21.   }
  22.  }
  23.  //每次先處理一行句子
  24.  while(getline(cin, text))
  25.  {
  26.   count[col] = text.size();
  27.   if(count[col] > max)
  28.   {
  29.    max = count[col];
  30.   }
  31.   for(int i = 0;i < text.size();i++)
  32.   {
  33.    t[col][i] = text[i];
  34.   }
  35.   col++;
  36.  }
  37.  //轉置矩陣
  38.  for(int i = 0;i < col;i++)
  39.  {
  40.   for(int j = 0;j < max;j++)
  41.   {
  42.    c[j][i] = t[i][j];
  43.   }
  44.  }
  45.  //把陣列c移位成結果--陣列r
  46.  for(int j = 0;j < max;j++)
  47.  {
  48.   int cc = col-1;
  49.   for(int i = 0;i < col;i++)
  50.   {
  51.    r[j][cc] = c[j][i];
  52.    cc--;
  53.   }
  54.  }
  55.  
  56.  //輸出陣列r
  57.  for(int j = 0;j < max;j++)
  58.  {
  59.   for(int i = 0;i < col;i++)
  60.   {
  61.    if(i != 0)
  62.    {
  63.     cout << r[j][i];
  64.    }
  65.    else
  66.    {
  67.     cout << r[j][i];
  68.    }
  69.   }
  70.   cout << endl;
  71.  }
  72.  return 0;
  73. }
  74.  
Parsed in 0.010 seconds