C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で波のパターンで文字列を印刷します


この問題では、文字列と整数nが与えられます。私たちのタスクは、指定された文字列を波のパターンで印刷することです。 n行の。

問題を理解するために例を見てみましょう

Input: Tutorial n = 3
Output:
T             r
   U       o       i       s
      t                l

ウェーブパターンは、文字列の各文字を次の行に1つずつ印刷し、次の要素からn行目までタブスペースで印刷します。また、印刷タブは最初の行まで上の行に配置され、文字列に文字が含まれるまで同じパターンに従います。

以下のコードは、私たちのソリューションの実装を示しています

#include<bits/stdc++.h>
using namespace std;
void printWavePattern(string s, int n) {
   if (n==1) {
      cout<<s;
      return;
   }
   int len=s.length();
   char a[len][len]={ };
   int row=0;
   bool down;
   for (int i=0; i<len; i++) {
      a[row][i]=s[i];
      if (row==n-1)
         down=false;
      else if (row==0)
         down=true;
         (down)?(row++):(row--);
   }
   for (int i=0; i<n; i++) {
      for (int j=0; j<len; j++) {
         cout<<a[i][j]<<" ";
      }
      cout<<endl;
   }
}
int main() {
   string str = "TutorialsPoint";
   int n = 4;
   cout<<n<<" Line wave pattern '"<<str<<"' is:\n";
   printWavePattern(str, n);
}
出力
4 Line wave pattern 'TutorialsPoint' is −
T    a    n
u   i l    i t
t    r    s o
   o    P

  1. C ++で文字列をintに解析する方法は?

    文字列ストリームを使用して、C++のintをintに解析できます。この方法では、エラーチェックを行う必要があります。 例 #include<iostream> #include<sstream> using namespace std; int str_to_int(const string &str) {    stringstream ss(str);    int num;    ss >> num;    return num; } int main() {

  2. C ++でintをstringに変換する方法は?

    Cのitoa関数を使用して、intを文字列に変換できます。 例 #include<iostream> int main() {    int a = 10;    char *intStr = itoa(a);    string str = string(intStr);    cout << str; } 出力 これにより、出力が得られます- 10 これにより、整数が文字列に変換されます。 C ++ 11では、同じ目的で使用できる新しいメソッドto_stringが追加されました。次の