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

C++で最後の操作を追加および削除して1つの文字列を別の文字列に変換する


このチュートリアルでは、最後の追加操作と削除操作を使用して、ある文字列を別の文字列に変換するプログラムについて説明します。

このために、2つのストリングが提供されます。私たちのタスクは、最後の要素の追加と削除のk回の操作を実行して、最初の文字列を2番目の文字列に変換できるかどうかを計算することです。

#include <bits/stdc++.h>
using namespace std;
//checking if conversion between strings is possible
bool if_convert(string str1, string str2,
int k){
   if ((str1.length() + str2.length()) < k)
   return true;
   //finding common length of both string
   int commonLength = 0;
   for (int i = 0; i < min(str1.length(),
   str2.length()); i++) {
      if (str1[i] == str2[i])
      commonLength++;
      else
      break;
   }
   if ((k - str1.length() - str2.length() +
   2 * commonLength) % 2 == 0)
   return true;
   return false;
}
int main(){
   str1 = "tutorials", str2 = "point";
   k = 5;
   cout << endl;
   if (if_convert(str1, str2, k))
   cout << "Yes";
   else
   cout << "No";
   return 0;
}

出力

No

  1. C言語を使用して文字列を数値に変換し、数値を文字列に変換する

    問題 Cプログラミング言語での文字列から数値への変換および数値から文字列への変換とはどういう意味ですか? 解決策 変換に使用できる関数は2つあります。彼らは- sscanf()-文字列を数値に変換します sprintf()-数値を文字列に変換するために使用されます 文字列から数値への変換 sscanf()関数を使用して文字列を数値に変換できます- 構文 sscanf (string name, “control string”,variable list) 例 #include<stdio.h> main (){    

  2. C ++を使用して、指定された一方の端と中間の線のもう一方の端点を見つけます

    この問題では、線の始点A(x A の2点の座標が与えられます。 、y A )および中点M(x M 、y M )。私たちのタスクは、指定された一方の端と中央にある線のもう一方の端点を見つけることです。 。 問題を理解するために例を見てみましょう 入力 A = [1, 2], M = [3, 0] 出力 [5, -2] 説明 行は-です ソリューションアプローチ この問題を解決するために、数学で学んだ幾何学の概念を使用します。すべての線に中点式があることを覚えているなら、 mid(x) = (x1 + x2) / 2 mid(y) = (y1 + y2) / 2