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

再帰を使用して文を反転するC++プログラム


文字列は、ヌル文字で終了する1次元の文字配列です。文字列の逆は、逆の順序で同じ文字列です。たとえば。

Original String: Apple is red
Reversed String: der si elppA

再帰を使用して文字列の形式で文を反転するプログラムは次のとおりです。

#include <iostream>
using namespace std;
void reverse(char *str) {
   if(*str == '\0')
   return;
   else {
      reverse(str+1);
      cout<<*str;
   }
}
int main() {
   char str[] = "C++ is fun";
   cout<<"Original String: "<<str<<endl;
   cout<<"Reversed String: ";
   reverse(str);
   return 0;
}

出力

Original String: C++ is fun
Reversed String: nuf si ++C

上記のプログラムでは、関数reverse()は文字列を逆にする再帰関数です。

最初にreverse()は、文字列の先頭を指すポインタである*strを受け入れます。値がnullの場合、関数は戻ります。そうでない場合、関数は値str + 1、つまり文字列の次の要素を使用して自分自身を再帰的に呼び出します。最終的に、strがnullの場合、strの値は後ろから前に出力されます。したがって、逆の文字列が印刷されます。これは、次のコードスニペットで示されています。

if(*str == '\0')
   return;
   else {
      reverse(str+1);
      cout<<*str;
   }

main()関数では、文字列が初期化されます。また、元の文字列と反転した文字列が表示されます。これは次のように示されます-

char str[] = "C++ is fun";
cout<<"Original String: "<<str<<endl;
cout<<"Reversed String: ";
reverse(str);

  1. クライアントサーバーモデルを使用してC/C++で文字列を反転します

    ここでは、システムを作成する方法を説明します。ここでは、1つのクライアントとサーバーを作成し、クライアントは1つの文字列をサーバーに送信でき、サーバーは文字列を逆にしてクライアントに戻ります。 ここでは、ソケットプログラミングの概念を使用します。クライアントサーバー接続を確立するには、ポートを作成する必要があります。ポート番号は、ソケットで使用できる任意の1つの番号です。接続を確立するには、クライアントとサーバーに同じポートを使用する必要があります。 プログラムを起動するには、最初にサーバープログラムを起動します- gcc Server.c –o server 次に、クライア

  2. 再帰を使用して文字列を逆にするPythonプログラム

    再帰手法を使用して文字列を反転する必要がある場合は、ユーザー定義のメソッドが再帰とともに使用されます。 再帰は、より大きな問題の小さなビットの出力を計算し、これらのビットを組み合わせて、より大きな問題の解決策を提供します。 例 以下は同じのデモンストレーションです- def reverse_string(my_string):    if len(my_string) == 0:       return my_string    else:       return reverse_str