Program C ++ untuk Membalikkan Kalimat Menggunakan Pengulangan

Program ini mengambil ayat dari pengguna dan membalikkan ayat tersebut menggunakan rekursi. Program ini tidak menggunakan rentetan untuk membalikkan ayat atau menyimpan ayat.

Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan C ++ berikut:

  • Fungsi C ++
  • Jenis Fungsi yang ditentukan pengguna dalam C ++
  • Pencerapan C ++
  • C ++ jika, jika… lain dan Bersarang jika… lain

Contoh: Membalikkan ayat menggunakan pengulangan.

 #include using namespace std; // function prototype void reverse(const string& a); int main() ( string str; cout << " Please enter a string " << endl; getline(cin, str); // function call reverse(str); return 0; ) // function definition void reverse(const string& str) ( // store the size of the string size_t numOfChars = str.size(); if(numOfChars == 1) ( cout << str << endl; ) else ( cout << str(numOfChars - 1); // function recursion reverse(str.substr(0, numOfChars - 1)); ) ) 

Pengeluaran

 Masukkan ayat: program hebat emosewa margorp 

Dalam program ini, pengguna diminta memasukkan string yang disimpan di string objek str.

Kemudian, reverse()fungsi dipanggil yang merupakan fungsi rekursif.

Di dalam fungsi ini, kami menyimpan ukuran rentetan input dalam pemboleh ubah numOfChars.

Dalam panggilan fungsi pertama, reverse()mencetak watak terakhir rentetan dengan kod:

 cout << str(numOfChars - 1);

Ingat bahawa rentetan sebenarnya adalah susunan watak , jadi setiap watak rentetan dapat ditunjukkan sebagai indeks dari rentetan rentetan str ().

Pada baris seterusnya, fungsi rekursif disebut:

 reverse(str.substr(0, numOfChars - 1));

Di sini, substr()memberikan rentetan hingga watak terakhir ke-2, yang diteruskan lagi ke reverse()fungsi.

Dalam reverse()panggilan seterusnya , watak terakhir ke-2 dicetak kerana rentetan mengandungi satu watak yang kurang dari yang terakhir. Selepas ini, satu watak dari yang terakhir dipotong dari rentetan semula dan diteruskan ke reverse()fungsi.

Ini berlaku sehingga panjang tali sama dengan 1, apabila watak akhir (atau watak pertama) dicetak dan gelung berakhir.

Artikel menarik...