Cara Membalikkan Rentetan Dalam C

How Reverse String C



Dalam pengekodan tali, pembalikan rentetan adalah topik penting. Terdapat juga beberapa kaedah untuk membalikkan rentetan, yang masing-masing mempunyai logik yang berbeza. Artikel ini akan menunjukkan kepada anda cara membalikkan rentetan dengan betul untuk menggunakan beberapa pendekatan dan pertimbangan yang berbeza dengan dan tanpa memerlukan fungsi yang telah ditetapkan. Setiap kali pembalikan teknik string diterapkan dalam string input unik tertentu, teks yang akan diberikan oleh pengguna dalam urutan tertentu akan dibalik sepenuhnya. Dalam contoh di bawah, alternatif yang berbeza untuk membalikkan rentetan dengan C telah digunakan.

Semasa melaksanakan panduan ini, kami telah mengusahakan sistem Linux Ubuntu 20.04 yang dikonfigurasi pada Virtual Box. Semasa mengerjakan sistem Linux, kami biasa melakukan sebahagian besar pemasangan dan pertanyaan pada shell terminal. Oleh itu, buka shell terminal dengan jalan pintas Ctrl + Alt + T atau cari melalui bar carian aplikasi di bawah kawasan Aktiviti desktop Ubuntu. Anda perlu mengemas kini sistem anda terlebih dahulu melalui pertanyaan kemas kini yang tepat. Ia akan meminta kata laluan pengguna semasa anda menjalankan kemas kini. Oleh itu, tambahkan kata laluan dan tekan butang Enter.







$ sudo apt kemas kini



Oleh kerana kita telah menggunakan bahasa pengaturcaraan C untuk menguraikan konsep rentetan terbalik dalam sistem Ubuntu 20.04, seseorang harus memiliki penyusun C yang terpasang pada sistem Ubuntu mereka. Oleh itu, pastikan untuk memasang penyusun GCC pada sistem anda melalui pertanyaan di bawah.



$ sudo apt pasang gcc

Contoh 01: Menggunakan Untuk Gelung

Setelah pemasangan dan konfigurasi kompilator GCC dan mengemas kini pakej apt, ternyata membuat fail baru. Fail ini mestilah jenis C; oleh itu, gunakan arahan sentuh untuk membuat fail baru.c seperti di bawah. Fail ini akan digunakan dalam kod kami mulai sekarang semasa pelaksanaan program rentetan terbalik.





$ sentuh baru.c

Sekarang anda boleh membuka fail ini untuk diedit atau dikodkan oleh editor Nano yang sudah terbina dalam sistem Linux Ubuntu 20.04 anda. Oleh itu, cubalah arahan di bawah shell anda untuk melakukannya.



$ nano baru.c

Fail jenis C yang baru dibuat telah dibuka di GNU Nano Editor sistem Ubuntu 20.04. Anda harus menulis skrip C di dalamnya, seperti yang ditunjukkan dalam gambar tangkapan layar di bawahnya. Marilah kami menghuraikan kod ini untuk pemahaman anda yang lebih baik. Pada permulaan kod, kami telah memasukkan dua perpustakaan. Perpustakaan stdio.h telah digunakan untuk mengambil input dan menampilkan output, dan string.h perpustakaan lain telah digunakan untuk menggunakan segala macam rentetan dalam kod kami. Semua kerja membalikkan rentetan akan dilakukan dalam kaedah utama () kod C. Kami telah menyatakan jenis rentetan watak yang mempunyai ukuran 50. Ini bermaksud tali dengan lebih daripada 50 aksara tidak dapat dilayan dalam kod ini. Selepas itu, kami telah menyatakan dua pemboleh ubah jenis integer. Pemboleh ubah l telah digunakan untuk mengumpulkan panjang tali tali dan, pemboleh ubah I akan digunakan sebagai inisialisasi untuk gelung. Kemudian kami telah menggunakan pernyataan printf untuk mencetak teks pada shell Enter string, menyuruh pengguna untuk menambahkan nilai ke variabel string. Kaedah scanf () telah digunakan untuk memasukkan pengguna pada waktu berjalan dan menyimpan nilai tersebut ke dalam string string. Fungsi strlen () telah digunakan untuk memeriksa panjang tali string yang telah ditambahkan oleh pengguna pada waktu berjalan dan menyimpannya ke dalam pemboleh ubah l '. Kemudian kami menginisialisasi loop untuk membalikkan string string. Anda dapat melihat bahawa inisialisasi I 'mengambil nilai dari pemboleh ubah l untuk membalikkan arah rentetan. Kemudian ia mencetak watak-watak rentetan satu demi satu pembalikan. Pada yang terakhir, kaedah utama telah berakhir. Simpan fail ini menggunakan Ctrl + S dan tutup melalui Ctrl + X.

Kini tiba masanya untuk menyusun kod dan memeriksa outputnya. Oleh itu, penyusunan telah dilakukan dengan pertanyaan gcc yang dinyatakan di bawah dengan nama fail baru.c.

$ gcc baru.c

Apabila penyusunan berjaya, ini bermakna tidak ada kesalahan dalam kod kami. Mari laksanakan fail kami dengan pertanyaan a.out di shell seperti berikut:

$./ke.keluar

Proses pelaksanaan akan meminta pengguna menambah rentetan. Kami telah menambahkan I-Am-Aqsa-Yasin dan menekan Enter. Anda dapat melihatnya mengembalikan bahagian belakang rentetan pada baris berikut.

Contoh 02: Menggunakan Pertukaran

Dalam contoh ini, kita akan menggunakan kaedah pertukaran untuk membalikkan urutan rentetan. Oleh itu, buka fail baru.c sekali lagi menggunakan penyunting nano seperti berikut:

$ nano baru.c

Sekarang fail telah dibuka di editor nano GNU; kita perlu mengemas kini fail kod dengan skrip yang ditunjukkan di bawah dalam tangkapan skrin. Kami telah memasukkan fail header input dan output standard dalam kod kami terlebih dahulu menggunakan kata kunci #include. Kami telah menentukan kaedah Reverse () sesuai dengan penggunaan teknik pertukaran. Kami telah memulakan tiga pemboleh ubah jenis integer baru, I, dan swap. Gelung pertama digunakan untuk memeriksa sama ada tali s kosong atau tidak. Selanjutnya untuk gelung digunakan untuk iterasi, dan dalam badannya, kami telah menukar nilai menggunakan pemboleh ubah baru dan pertukaran. Perlu diingat bahawa membalikkan tali panjang hanya memerlukan n / 2 pusingan. Setelah rentetan ditukar, anda harus mengulangi lagi untuk menunjukkan rentetan terbalik, yang kami lakukan dalam aplikasi kami menggunakan ketiga untuk gelung. Fungsi Reverse () mesti dipanggil dari program utama dalam. Anda telah menyatakan prestasi perisian anda dengan printf dalam konteks utama (). Selepas itu, anda menggunakan scanf () untuk mendapatkan input pengguna dan menggunakan kaedah Reverse (). Sekarang simpan fail sekali lagi menggunakan Ctrl + S dan tinggalkan editor nano dengan jalan pintas Ctrl + X dan kembali ke shell terminal.

Susun kod terlebih dahulu dengan pertanyaan gcc seperti di bawah.

$ gcc baru.c

Sekarang jalankan fail kod dengan arahan ./a. yang sama.

$./ke.keluar

Ia akan meminta anda memasukkan nilai rentetan. Kami telah menambahkan AqsaYasin dan mendapat kebalikannya.

Contoh 03: Menggunakan Rekursi

Dalam contoh ini, kita akan menggunakan rekursi untuk membalikkan rentetan yang ditambahkan oleh pengguna. Oleh itu buka fail semula.

$ nano baru.c

Program ini mencetak Masukkan ayat: Kaedah Reverse () kemudian digunakan. Huruf awal yang dimasukkan oleh pengguna disimpan dalam c melalui kaedah ini. Pembalikan () dijalankan sekali lagi jika argumennya adalah sesuatu yang lain daripada n (barisan baru). Prosedur ini berterusan sehingga pengguna menekan kekunci Enter. Setiap kali pengguna menekan enter, kaedah Terbalik () mencetak teks dalam urutan terbalik. Simpan dan tutup fail.

Susun kod terlebih dahulu dan kemudian jalankan dengan menggunakan arahan sebelumnya seperti berikut:

$ gcc baru.c

$./ke.keluar

Anda dapat melihatnya memerlukan input dari pengguna sebagai keseluruhan kalimat rentetan dan kemudian membalikkan susunan ayat itu.

Kesimpulan:

Akhirnya, kami telah melakukan tiga contoh untuk menguraikan membalikkan input jenis rentetan dengan kaedah yang berbeza, misalnya, menggunakan untuk gelung, menggunakan rekursi, dan menggunakan pertukaran.