Rumah >pembangunan bahagian belakang >C++ >Semak sama ada rentetan mengandungi huruf berturut-turut dan setiap huruf muncul sekali sahaja
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 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.
sort(str.begin(), str.end())
Kaedah sort() dalam C++ digunakan untuk menyusun aksara dalam rentetan dalam susunan yang semakin meningkat dari mula hingga akhir.
str - Rentetan input
end - Watak terakhir yang muncul dalam rentetan
begin-Watak pertama yang muncul dalam rentetan
Kaedah length() dalam C++ digunakan untuk mengira bilangan aksara dalam rentetan.
str.length()
str - Rentetan input
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.
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; }
Input String − mpon Yes, the string contains only consecutive characters
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!