C++でスペースをハイフンに置き換える
このC++プログラムでは、文字列内のスペースはハイフンに置き換えられます。まず、文字列の長さは、 cstring のlength()関数によって決定されます。 クラスの場合、次のように文字列をトラバースすることにより、文のスペースにハイフンが入力されます。
例
#include <cstring> #include <iostream> using namespace std; int main(){ // raw string declaration string str = "Coding in C++ programming"; cout<<"Normal String::"<<str<<endl; for (int i = 0; i < str.length(); ++i) { // replacing character to '-' with a 'space'. if (str[i] == ' ') { str[i] = '-'; } } // output string with '-'. cout <<"Output string::"<< str << endl; return 0; }
出力
プログラムの出力は、ユーザーが次のように文字列を入力すると、次のようにハイフンを微調整したyieldです。
Normal String::Coding in C++ programming Output string::Coding-in-C++-programming
-
C++で最短の長さの文字列をエンコードする
空でない文字列があるとします。エンコードされた長さが最小になるように、この文字列をエンコードする必要があります。 エンコード規則は− k [encoded_string]のようなもので、[]内のencoded_stringは正確にk回繰り返されます。 kは正の整数になり、エンコードされた文字列は空になったり、余分なスペースができたりしないことに注意する必要があります。入力文字列には小文字のみが含まれていると想定できます。エンコードプロセスで文字列が短くならない場合は、その文字列をエンコードしないでください。 したがって、入力が「aaaaa」のような場合、「5[a]」は「aaaaa」より1文
-
C++で角かっこを使用した文字列への二分木
この問題では、二分木が与えられます。私たちのタスクは、C++でバイナリツリーを角かっこ付きの文字列に変換するプログラムを作成することです。 二分木の値は整数であり、事前順序トラバースの方法でプログラムに供給されます。文字列には整数と括弧()のみを含める必要があります。また、文字列を最適化する必要があります。つまり、空のペアをすべて削除する必要があります。 二分木 は、各ノードが最大2つの子を持つことができるという特別な条件を持つツリーです。 二分木の例- プレオーダートラバーサル:[4、1、8、3、9、2、5] 問題を理解するために例を見てみましょう − 入力 preorde