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

C++の英語のアルファベットと同じ距離にある文字ペアの数


文字列が与えられ、タスクは、英語のアルファベットと同じ距離にペアを持つ文字ペアの数を計算することです。

入力 − stringstr=「チュートリアルポイント」

出力 −英語のアルファベットと同じ距離にある文字ペアの数は次のとおりです。5

説明 −英語のアルファベットと同じ距離の文字ペアは、(u、t)、(u、r)、(t、r)、(i、o)、および(s、n)です。したがって、合計で5つのペアがあります。

入力 − stringstr=「学習は最高の習慣です」

出力 −英語のアルファベットと同じ距離にある文字ペアの数は次のとおりです。12

説明 −英語のアルファベットと同じ距離の文字ペアは、(r、i)、(r、h)、(n、i)、(n、b)、(i、g)、(n、t)、(g 、i)、(i、b)、(s、h)、(h、t)、(s、t)および(a、b)。したがって、合計で12のペアがあります。

以下のプログラムで使用されているアプローチは次のとおりです

  • 文字列を入力し、データを関数に渡します

  • 一時変数カウントを取得して、形成できるペアの合計を格納します

  • length()関数を使用して文字列の長さを計算します

  • 文字列の長さまでiから0までループFORを開始します

  • ループ内で、文字列の長さまでjからi+1までの別のループFORを開始します

  • ループ内で、tempをabs(str [i] --str [j])

    として設定します。
  • IF temp =abs(i-j)を確認してから、カウントを1ずつ増やします

  • 返品数

  • 結果を印刷します。

#include <bits/stdc++.h>
using namespace std;
int pairs_distance(string str){
   int count = 0;
   int len = str.length();
   for (int i = 0; i < len; i++){
      for (int j = i + 1; j < len; j++){
         int temp = abs(str[i] - str[j]);
         if (temp == abs(i - j)){
            count++;
         }
      }
   }
   return count;
}
int main(){
   string str = "Tutorials Point";
   cout<<"Count of character pairs at same distance as in English alphabets are: "<<pairs_distance(str);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Count of character pairs at same distance as in English alphabets are: 5

  1. C++で同じネイバーを持つ文字をカウントします

    たとえば、strを含む文字列が与えられます。タスクは、同じ隣接文字を持つ文字列str内の文字数を計算することであり、文字列内の文字の左側と右側の両方が含まれます。また、このシナリオでは、文字列の最初と最後の文字は、隣接する文字が1つしかないため、常に考慮されます。 例 Input − string str = “poiot” Output − count is 3 説明 −指定された文字列文字p、t、およびiは同じネイバーを持っているため、カウントは3に増加します。 Input − string str = “nitih

  2. C++の英語のアルファベットと同じ位置にある文字を数えます

    大文字と小文字の両方を含む任意の長さの文字列が与えられます。タスクは、英語のアルファベットと同じ位置にある文字の数を計算することです。 例 Input − String str = eBGD Output − Count is: 2 説明 − BとDは、英語のアルファベットでBが2番目の位置にあり、Dが4番目の位置にあるのと同じ順序にある​​文字です。 Input − String str = Abcdeizxy Output − Count is: 5 説明 − A、B、C、D、およびEは、Aが最初の位置にあり、次にB、C、D、およびEが来