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

指定された文字列を変換して、C++で個別の文字のみを保持するようにします


このチュートリアルでは、特定の文字列を変換して、個別の文字のみを保持するようにするプログラムについて説明します。

このために、文字列が提供されます。私たちのタスクは、文字列をトラバースし、すべての繰り返し文字を、文字列にまだ存在していないランダムな文字に置き換えることです。

#include<bits/stdc++.h>
using namespace std;
//collecting the distinct characters
//in the string
int calculate_zero(int i, int occurrences[]){
   while (i < 26) {
      //if it is present only once
      if (occurrences[i] == 0)
         return i;
      i++;
   }
   //if all are doubles or more
   return -1;
}
//printing the modified string
string print_modified(string str) {
   int n = str.length();
   //if conversion
   //not possible
   if (n > 26)
      return "-1";
   string ch = str;
   int i, occurrences[26] = {0};
   //counting the occurrences
   for (i = 0; i < n; i++)
      occurrences[ch[i] - 'a']++;
   int index = calculate_zero(0, occurrences);
   for (i = 0; i < n; i++) {
      //replacing the character
      if (occurrences[ch[i] - 'a'] > 1) {
         occurrences[ch[i] - 'a']--;
         ch[i] = (char)('a' + index);
         occurrences[index] = 1;
         //moving to the next character
         index = calculate_zero(index + 1, occurrences);
      }
   }
   cout << ch << endl;
}
int main() {
   string str = "tutorialspoint";
   print_modified(str);
}

出力

bucdrealspoint

  1. 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が追加されました。次の

  2. Pythonで指定された文字列から文字のみを抽出します

    データには、文字、数字、および特殊文字が含まれる場合があります。このデータ文字列から文字のみを抽出することに関心がある場合は、Pythonで利用可能なさまざまなオプションを使用できます。 isalphaを使用 isalpha関数は、指定された文字がアルファベットかどうかをチェックします。これをforループ内で使用して、指定された文字列から各文字をフェッチし、それがアルファベットかどうかを確認します。 joinメソッドは、有効な文字のみを結果に取り込みます。 例 stringA = "Qwer34^&t%y" # Given string print("