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
-
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() {
-
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が追加されました。次の