Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Semak sama ada rentetan mengandungi huruf berturut-turut dan setiap huruf muncul sekali sahaja

Semak sama ada rentetan mengandungi huruf berturut-turut dan setiap huruf muncul sekali sahaja

WBOY
WBOYke hadapan
2023-09-08 13:57:031122semak imbas

Semak sama ada rentetan mengandungi huruf berturut-turut dan setiap huruf muncul sekali sahaja

Pengenalan

Dalam C++, rentetan ialah satu siri aksara, yang boleh berbeza atau berulang. Aksara berturut-turut ialah aksara yang muncul pada masa yang sama, dan perbezaan di antara mereka ialah 1. Sebagai contoh, watak a dan b adalah berturut-turut kerana ia muncul bersama-sama. Walau bagaimanapun, watak m dan o mempunyai perbezaan 2 dalam kedudukan mereka, menjadikannya tidak berturut-turut.

Dalam artikel ini, kami akan membangunkan kod yang akan mengambil rentetan sebagai input dan memaparkan benar apabila semua aksara dalam rentetan itu berturut-turut. Mari lihat contoh di bawah untuk memahami topik ini dengan lebih baik

Contoh Contoh

Contoh 1 - str - "pqsr"

Output - Ya

Dalam artikel ini, kami akan membangunkan kod untuk mengekstrak aksara semasa dan sebelumnya daripada rentetan Ia kemudiannya disemak jika aksara berbeza mengikut kedudukan bukan bersamaan dengan 1, maka nilai palsu boolean dikembalikan.

Sintaks

Terjemahan

sort()

ialah:

sort()

sort(str.begin(), str.end())

Kaedah sort() dalam C++ digunakan untuk menyusun aksara dalam rentetan dalam susunan yang semakin meningkat dari mula hingga akhir.

parameter

str - Rentetan input

end - Watak terakhir yang muncul dalam rentetan

begin-Watak pertama yang muncul dalam rentetan

length()

diterjemahkan sebagai:

length()

Kaedah length() dalam C++ digunakan untuk mengira bilangan aksara dalam rentetan.

str.length()

parameter

str - Rentetan input

Algoritma

  • Menerima rentetan input, str sebagai input.

  • Rentetan input diisih menggunakan kaedah sort()

  • .
  • Lelaran rentetan dilakukan, menggunakan gelung for i.

  • Panjang rentetan dikira menggunakan kaedah length() dan disimpan dalam pembolehubah len.

  • Lakukan lelaran untuk gelung pada rentetan, i ialah lelaran yang dilakukan.

  • Ekstrak aksara pada kedudukan ith, ch dan i-1, ch1 setiap kali.

  • Jika perbezaan antara dua aksara ini tidak sama dengan 1, maka nilai palsu boolean dikembalikan

  • Jika semua aksara yang sepadan memenuhi syarat yang diperlukan, maka nilai boolean - benar dikembalikan.

  • Nilai ini dikembalikan sebagai bendera Boolean dan disimpan dalam pembolehubah res. Jika nilainya benar, rentetan yang mengandungi aksara berturut-turut dicetak.

Contoh

Coretan kod C++ berikut digunakan untuk memasukkan rentetan sampel dan mengira sama ada semua aksara yang muncul dalam rentetan adalah berturut-turut.

//including the required libraries 
#include <bits/stdc++.h>
using namespace std;
 
//function to check of characters consecutive
bool validateString(string str) {
 
   //length of the string
   int len = str.length();
 
   // sorting the given string
   sort(str.begin(), str.end());
 
   // Iterate for every index and
   // check for the condition
   for (int i = 1; i < len; i++) {
 
      //extract characters at the required pos 
      char ch = str[i];
      char ch1 = str[i-1];
      if (ch-ch1 != 1)
      //in case characters are not consecutive
         return false;
   }
   //if condition holds
    return true;
}
 
//calling the main method
int main() {
 
   // 1st example
   string str = "mpon";
   cout << "Input String : " <<str << " \n";
   bool res = validateString(str);
   if (res)
       cout << "Yes, the string contains only consecutive characters\n";
   else
       cout << "No, the string doesn't contain only consecutive characters.\n";
   return 0;
}

Output

Input String − mpon 
Yes, the string contains only consecutive characters

Kesimpulan

Watak yang muncul secara berterusan dalam rentetan ialah huruf yang muncul pada masa yang sama. Ini boleh dicapai dengan menyusun rentetan dari awal hingga akhir. Watak dalam kedudukan berturut-turut boleh dibandingkan dengan mudah dan menyemak berapa banyak kedudukan yang berbeza antara mereka. Ini boleh digunakan untuk menangkap maklumat tentang sama ada rentetan adalah berterusan.

Atas ialah kandungan terperinci Semak sama ada rentetan mengandungi huruf berturut-turut dan setiap huruf muncul sekali sahaja. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam