Jadual Kandungan
Algoritma rekursif menjana rentetan seterusnya
Sintaks untuk tatasusunan seterusnya
Cara mengikuti
Tukar rentetan menggunakan C++
Contoh 4
Output
Gunakan C++ untuk melakukan operasi unari pada rentetan
Gunakan C++ untuk melakukan operasi binari pada rentetan
Cetak semua rentetan seterusnya menggunakan C++
Tukar rentetan kepada abcd…z sebagai urutan
Example 5
示例5
输出
结论
Rumah pembangunan bahagian belakang C++ Tukar rentetan kepada bentuk yang mempunyai abcd..z sebagai urutan

Tukar rentetan kepada bentuk yang mempunyai abcd..z sebagai urutan

Sep 01, 2023 pm 02:17 PM
Penukaran rentetan bentuk susulan Penukaran jujukan huruf

Tukar rentetan kepada bentuk yang mempunyai abcd..z sebagai urutan

Penukaran rentetan (juga dikenali sebagai penukaran rentetan) ialah operasi dalam C++ yang menyimpan hasil dalam tatasusunan output selepas keseluruhan proses dilaksanakan. Dalam C++, terdapat fungsi yang dipanggil "transform()", yang wujud dalam direktori persekitaran C++, yang melaluinya kita boleh menukar rentetan menjadi rentetan baharu.

Terdapat dua bentuk fungsi penukaran −

  • Pembedahan tanpa sengaja

    • Operasi
    • digunakan pada setiap elemen tatasusunan input.

    • Selepas operasi selesai, keputusan akan disimpan dalam tatasusunan keluaran.

  • Operasi binari

  • Operasi digunakan pada setiap elemen tatasusunan tertentu.

  • Elemen input pertama dan elemen input kedua yang sepadan mengambil bahagian dalam operasi.

  • Data output akan disimpan dalam tatasusunan output.

Rentetan susulan ialah rentetan baharu yang dijana dengan melakukan pelbagai operasi pada rentetan input (cth. pemadaman). Untuk rentetan seterusnya, operasi berlaku tanpa menjejaskan aksara yang tinggal.

Untuk penukaran rentetan, input mengandungi rentetan operasi dengan panjang n+1. Watak asal tergolong dalam siri a hingga z. Panjang rentetan cetakan dianggap sebagai n di sini, yang merupakan rentetan keluaran.

Dalam artikel ini, kita akan belajar cara menukar rentetan kepada abcd….z sebagai urutan dalam persekitaran C++.

Algoritma rekursif menjana rentetan seterusnya

Dengan menggunakan pendekatan rekursif, di bawah ialah algoritma yang mungkin untuk rentetan seterusnya. Ini adalah rentetan tertentu dan T ialah masa yang diperlukan untuk menyelesaikan operasi.

  • Langkah 1 - Kira bilangan kejadian.

  • Langkah 2 - Jika i = panjang(s) dan j = panjang(T).

  • Langkah 3− Kemudian kembali ke 1.

  • Langkah 4 - Penamat.

  • Langkah 5 - Jika i = panjang(S).

  • Langkah 6 - Kemudian kembalikan 0.

  • Langkah 7 - Penamat.

  • Langkah 8 − Kira

  • Langkah 9 - Jika, j

  • Langkah 10 − Kira

  • Langkah 11 - Penamat.

  • Langkah 12 - Kira

  • Langkah 13 - Kiraan Pulangan.

  • Langkah 14 - Penamat.

Sintaks untuk tatasusunan seterusnya

Here, we have two given sequences. X and Y.
Initialize a table with a dimension of X.length * Y.length
X.label1 = X
Y.label2 = Y
CS1[0][] = 0
CS2[][0] = 0
Start from CS[1][1]
Compare X[i] and Y[j]
   If
      X[i] = Y[j]
      CS[i][j] = 1 + CS[i-1, j-1]
      Point an arrow to CS[i][j]
   Else
      CS[i][j] = max(CS[i-1][j], CS[i][j-1])
      Point an arrow to max(CS[i-1][j], CS[i][j-1])
Salin selepas log masuk

Di sini kami mencipta sintaks kerja asas untuk tatasusunan seterusnya. Apabila terdapat dua urutan, kita perlu mengikuti langkah berikut untuk mendapatkan output.

Cara mengikuti

  • Kaedah 1−Tukar rentetan menggunakan C++

  • Kaedah 2 melaksanakan operasi unari pada rentetan menggunakan C++

  • Kaedah 3 menggunakan C++ untuk melaksanakan operasi binari pada rentetan

  • Cetak semua kemungkinan rentetan berikutnya menggunakan C++

  • Kaedah 5 untuk menukar rentetan kepada mempunyai abcd….z sebagai susulan menggunakan C++

Tukar rentetan menggunakan C++

Dalam kod C++ ini, kami mencipta rentetan baharu dan mengalih keluar semua vokal daripada rentetan input. # ditambah sebagai ganti vokal ini.

Contoh 1

#include <bits/stdc++.h>
using namespace std;
string change_case(string r) {
   int l = r.length();
   for(int i = 0 ; i < l ; i++) {
      if(r[i] >= 'a' && r[i] <= 'z')
      r[i] = r[i] - 32;
      else if(r[i] >= 'A' && r[i] <= 'Z')
      r[i] = r[i] + 32;
   }
   return r;
}
string delete_vowels(string a) {
   string temp = "";
   int l = a.length();
   for(int i = 0 ; i < l ; i++) {
      if(a[i] != 'a' && a[i] != 'e' &&
      a[i] != 'i' && a[i] != 'o' &&
      a[i] != 'u' && a[i] != 'A' &&
      a[i] != 'E' && a[i] != 'O' &&
      a[i] != 'U'&& a[i] != 'I')
      temp += a[i];
   }
   return temp;
}
string insert_hash(string a) {
   string temp = "";
   int l = a.length();
   for(int i = 0 ; i < l ; i++) {
      if((a[i] >= 'a' && a[i] <= 'z') ||
      (a[i] >= 'A' && a[i] <= 'Z'))
      temp = temp + '#' + a[i];
      else
      temp = temp + a[i];
   }
   return temp;
}
void transformSting(string a) {
   string b = delete_vowels(a);
   string c = change_case(b);
   string d = insert_hash(c);
   if(d=="")
   cout<<"-1"<<endl;
   else
   cout << d<<endl;
}
int main() {
   string a = "RudraDevDas!!";
   string b = "aeiou";
   transformSting(a);
   transformSting(b);
   return 0;
}
Salin selepas log masuk

Output

#r#D#R#d#V#d#S!!
-1
Salin selepas log masuk

Gunakan C++ untuk melakukan operasi unari pada rentetan

Dalam kod khusus ini, kami menunjukkan cara melaksanakan operasi unari pada tatasusunan input. Fungsi ini menerima penunjuk ke kedudukan mula dan akhir satu input. Dan beroperasi pada permulaan tatasusunan output.

Terjemahan bahasa Cina bagi

Contoh 2

ialah:

Contoh 2

#include <iostream>
#include <algorithm>
using namespace std;
int op_increment (int x) {
   x = x + 1;
   return x;
}
int main () {
   int n = 5;
   int input_array[] = {7, 16, 10, 97, 2001};
   int output_array[n];
   std::cout << "Input array present here:";
   for(int i=0; i<5; i++){
      cout << ' ' << input_array[i];
   }
   cout << '\n';
   transform (input_array, input_array+5, output_array, op_increment);
   std::cout << "The output array now contains with:";
   for(int i=0; i<5; i++){
      cout << ' ' << output_array[i];
   }
   cout << '\n';
   return 0;
}
Salin selepas log masuk

Output

Input array present here: 7 16 10 97 2001
The output array now contains with: 8 17 11 98 2002
Salin selepas log masuk

Gunakan C++ untuk melakukan operasi binari pada rentetan

Dalam kod khusus ini, kami menunjukkan cara melaksanakan operasi binari pada tatasusunan input. Fungsi transform() menambah penunjuk antara titik permulaan dan tatasusunan input pertama. Ingat bahawa operasi binari sentiasa beroperasi pada dua set data input.

Terjemahan bahasa Cina bagi

Contoh 3

ialah:

Contoh 3

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int op_add (int i, int j) {
   return i+j;
}
int main () {
   int n = 5;
   int arr1[] = {7, 16, 10, 2001, 1997};
   int arr2[] = {1, 2, 3, 4, 5};
   int output[n];
   std::cout << "Input data in array1:";
   for(int i=0; i<n; i++){
      cout << ' ' << arr1[i];
   }
   cout << '\n';
   std::cout << "Input data in array2:";
   for(int i=0; i<n; i++){
      cout << ' ' << arr2[i];
   }
   cout << '\n';
   std::transform (arr1, arr1+n, arr2, output, op_add);
   std::cout << "Output array is here now:";
   for(int i=0; i<5; i++){
      cout << ' ' << output[i];
   }
   cout << '\n';
   return 0;
}
Salin selepas log masuk

Output

Input data in array1: 7 16 10 2001 1997
Input data in array2: 1 2 3 4 5
Output array is here now: 8 18 13 2005 2002
Salin selepas log masuk

Cetak semua rentetan seterusnya menggunakan C++

Gunakan konsep pemilihan dan bukan pemilihan untuk mengetahui semua urutan tatasusunan tertentu. Semasa proses ini, beberapa aksara boleh dialih keluar tanpa mengubah susunan unsur. Di sini, kerumitan masa proses ini ialah O(2^n) dan kerumitan ruang ialah O(n).

Contoh 4

#include <bits/stdc++.h>
using namespace std;
void printSubsequence(string input, string output) {
   if (input.empty()) {
      cout << output << endl;
      return;
   }
   printSubsequence(input.substr(1), output + input[0]);
   printSubsequence(input.substr(1), output);
}
int main() {
   string output = "";
   string input = "rudraabonikoaa";
   printSubsequence(input, output);
   return 0;
}
Salin selepas log masuk

Output

rudraabonikoaa
rudraabonikoa
rudraabonikoa
rudraaboniko
rudraabonikaa
rudraabonika
rudraabonika
rudraabonik
rudraabonioaa
rudraabonioa
rudraabonioa
rudraabonio
rudraaboniaa
rudraabonia
rudraabonia
Salin selepas log masuk

Tukar rentetan kepada abcd…z sebagai urutan

Ini adalah proses khusus untuk menukar rentetan kepada bentuk yang mempunyai abcd...z sebagai urutan.

  • Watak permulaan.

  • Jika panjang kurang daripada 26, kembalikan palsu.

  • Lelaran gelung daripada 0 kepada s.size() - 1.

  • Jika aksara mencapai z, keluar dari gelung.

  • Jika watak semasa kurang daripada s atau sama dengan watak.

  • Ganti kenaikan watak semasa dengan 1.

  • Mengembalikan palsu jika aksara kurang daripada atau sama dengan z.

  • Jika tidak, kembalikan benar.

在这个过程中,时间复杂度为O(n),辅助空间为O(1)。这里,n是特定字符串的长度。

Example 5

的中文翻译为:

示例5

#include <bits/stdc++.h>
using namespace std;
bool transformString(string& s) {
   char ch = 'a';
   if (s.size() < 26)
   return false;
   for (int i = 0; i < s.size(); i++) {
      if (int(ch) > int('z'))
      break;
      if (s[i] <= ch) {
         s[i] = ch;
         ch = char(int(ch) + 1);
      }
   }
   if (ch <= 'z')
   return false;
   return true;
}
int main() {
   string str = "aaaaaaaaaaaaaaaaaaaaaaaaaaa";
   if (transformString(str))
   cout << str << endl;
   else
   cout << "Not Possible" << endl;
   return 0;
}
Salin selepas log masuk

输出

abcdefghijklmnopqrstuvwxyza
Salin selepas log masuk

结论

在本文中,我们学习了使用C++环境进行字符串转换及其不同形式。通过遵循特定的算法和语法,我们检查和构建了一些不同的C++代码,并了解了如何转换字符串,使其具有abcd...z作为子序列。

Atas ialah kandungan terperinci Tukar rentetan kepada bentuk yang mempunyai abcd..z sebagai urutan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kaedah untuk menukar rentetan kepada nilai Boolean menggunakan kaedah parseBoolean() kelas Boolean Kaedah untuk menukar rentetan kepada nilai Boolean menggunakan kaedah parseBoolean() kelas Boolean Jul 26, 2023 pm 08:17 PM

Cara menukar rentetan kepada nilai Boolean menggunakan kaedah parseBoolean() kelas Boolean Dalam pengaturcaraan Java, anda sering menghadapi situasi di mana anda perlu menukar rentetan kepada nilai Boolean. Kelas Boolean di Java menyediakan kaedah yang sangat mudah - parseBoolean(), yang boleh menukar rentetan kepada nilai Boolean yang sepadan. Artikel ini akan memperkenalkan penggunaan kaedah ini secara terperinci dan memberikan contoh kod yang sepadan. Pertama, kita perlu memahami kaedah parseBoolean().

Belajar dengan cepat untuk menukar rentetan kepada tatasusunan dalam bahasa Go Belajar dengan cepat untuk menukar rentetan kepada tatasusunan dalam bahasa Go Mar 12, 2024 pm 10:27 PM

Belajar untuk menukar rentetan kepada tatasusunan dalam bahasa Go Penukaran antara rentetan dan tatasusunan ialah operasi biasa dalam bahasa Go, terutamanya apabila memproses data, anda sering menghadapi keperluan untuk menukar rentetan kepada tatasusunan. Artikel ini akan memperkenalkan cara cepat belajar menukar rentetan kepada tatasusunan dalam bahasa Go, supaya anda boleh menangani masalah yang serupa dengan mudah. Dalam bahasa Go, kita boleh menggunakan fungsi Split yang disediakan oleh pakej rentetan untuk memisahkan rentetan kepada tatasusunan mengikut pembatas yang ditentukan. Berikut ialah a

Tukar rentetan kepada nombor titik terapung ketepatan berganda menggunakan fungsi Double.parseDouble() java Tukar rentetan kepada nombor titik terapung ketepatan berganda menggunakan fungsi Double.parseDouble() java Jul 26, 2023 am 09:25 AM

Tukar rentetan kepada nombor titik terapung berketepatan dua menggunakan fungsi Double.parseDouble() Java Dalam pengaturcaraan Java, kita selalunya perlu menukar rentetan kepada jenis angka. Untuk nombor titik terapung berketepatan dua, Java menyediakan kaedah yang sangat mudah, fungsi Double.parseDouble(). Artikel ini akan memperkenalkan penggunaan fungsi ini dan melampirkan beberapa kod sampel untuk membantu pembaca memahami dan menggunakan fungsi ini dengan lebih baik. Fungsi Double.parseDouble() ialah

Tukar rentetan kepada StringBuilder dalam Java Tukar rentetan kepada StringBuilder dalam Java Sep 02, 2023 pm 03:57 PM

Kaedah append() kelas StringBuilder menerima nilai String dan menambahkannya pada objek semasa. Tukar nilai rentetan kepada objek StringBuilder - Dapatkan nilai rentetan. Tambah menggunakan kaedah append() untuk mendapatkan rentetan ke StringBuilder. Contoh Dalam program Java berikut, kami menukar tatasusunan rentetan menjadi objek StringBuilder tunggal. Demonstrasi masa nyata publicclassStringToStringBuilder{ publicstaticvoidmain(Stringargs[]){&a

Tukar rentetan kepada perenambelasan dan capai output terbalik menggunakan PHP Tukar rentetan kepada perenambelasan dan capai output terbalik menggunakan PHP Mar 21, 2024 pm 03:33 PM

Tajuk: Gunakan PHP untuk menukar rentetan kepada perenambelasan dan mencapai output terbalik Dalam pembangunan harian, kadangkala kita perlu menukar rentetan kepada perwakilan perenambelasan untuk penghantaran atau penyulitan data. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menukar rentetan kepada perenambelasan dan merealisasikan fungsi output terbalik. Pertama, kita perlu menulis fungsi PHP untuk menukar rentetan kepada perenambelasan. Berikut ialah contoh kod: functionstringToHex($string)

Tukar rentetan kepada huruf kecil menggunakan fungsi PHP 'strtolower' Tukar rentetan kepada huruf kecil menggunakan fungsi PHP 'strtolower' Jul 24, 2023 pm 12:34 PM

Tukar rentetan kepada huruf kecil menggunakan fungsi PHP "strtolower" Dalam PHP, terdapat banyak fungsi yang boleh digunakan untuk menukar kes rentetan. Salah satu fungsi yang paling biasa digunakan ialah strtolower(). Fungsi ini menukar semua aksara dalam rentetan kepada huruf kecil. Berikut ialah contoh kod ringkas yang menunjukkan cara menggunakan fungsi strtolower() untuk menukar rentetan kepada huruf kecil: &lt;?php//rentetan asal $string="

Bagaimana untuk menukar rentetan kepada huruf besar menggunakan fungsi upper() Python Bagaimana untuk menukar rentetan kepada huruf besar menggunakan fungsi upper() Python Nov 18, 2023 pm 01:14 PM

Cara menukar rentetan kepada huruf besar menggunakan fungsi upper() Python, contoh kod khusus yang diperlukan Python ialah bahasa pengaturcaraan yang mudah dan mudah dipelajari yang menyediakan banyak fungsi terbina dalam untuk mengendalikan rentetan. Salah satu fungsi yang biasa digunakan ialah fungsi upper(), yang menukarkan semua huruf dalam rentetan kepada huruf besar. Artikel ini akan memperkenalkan secara terperinci cara menggunakan fungsi upper() Python dan memberikan contoh kod yang sepadan. Mula-mula, mari kita fahami penggunaan fungsi upper(). naik

Gunakan fungsi strconv.ParseInt untuk menukar rentetan kepada integer dalam pangkalan yang ditentukan Gunakan fungsi strconv.ParseInt untuk menukar rentetan kepada integer dalam pangkalan yang ditentukan Jul 24, 2023 pm 03:33 PM

Gunakan fungsi strconv.ParseInt untuk menukar rentetan kepada integer dalam pangkalan yang ditentukan Walaupun pakej strconv dalam bahasa Go menyediakan banyak fungsi untuk penukaran jenis, kadangkala kita masih memerlukan penukaran jenis tersuai. Apabila kita perlu menukar rentetan kepada integer dalam pangkalan yang ditentukan, kita boleh menggunakan fungsi strconv.ParseInt untuk melengkapkannya. Parameter fungsi strconv.ParseInt termasuk rentetan yang akan ditukar, asas yang ditentukan dan bilangan digit dalam integer yang terhasil. ia mengembalikan penukaran

See all articles