Kako obrniti niz v C

How Reverse String C



Pri kodiranju nizov je obračanje nizov ključna tema. Obstaja tudi več načinov za obračanje niza, od katerih ima vsaka drugačno logiko. Ta članek vam bo pokazal, kako pravilno spremeniti niz za uporabo različnih ločenih pristopov in sklepanja z ali brez kakršnih koli prednastavljenih funkcij. Kadar koli se v določenem edinstvenem vhodnem nizu uporabi razveljavitev nizovne tehnike, bo besedilo, ki bi ga potrošnik predložil v določenem vrstnem redu, popolnoma obrnjeno. V spodnjem primeru so bile uporabljene različne možnosti obračanja niza s črko C.

Pri izvajanju tega priročnika smo delali na sistemu Ubuntu 20.04 Linux, konfiguriranem na Virtual Box. Med delom na sistemu Linux smo večino namestitev in poizvedb izvajali v terminalski lupini. Zato odprite terminalsko lupino s bližnjico Ctrl+Alt+T ali jo poiščite v vrstici za iskanje aplikacij v območju dejavnosti na namizju Ubuntu. Najprej morate posodobiti sistem prek poizvedbe za posodobitev apt. Za zagon posodobitve vas bo vprašal trenutno geslo uporabnika. Zato dodajte geslo in pritisnite gumb Enter.







$ sudo apt posodobitev



Ker smo programski jezik C uporabljali za izdelavo koncepta obrnitve nizov v sistemu Ubuntu 20.04, bi morali imeti v sistemu Ubuntu nameščen prevajalnik C. Zato v spodnji poizvedbi namestite prevajalnik GCC v svoj sistem.



$ sudo apt install gcc

Primer 01: Uporaba For Loop

Po namestitvi in ​​konfiguraciji prevajalnika GCC in posodobitvi paketa apt se obrne na ustvarjanje nove datoteke. Ta datoteka mora biti tipa C; zato z ukazom na dotik ustvarite datoteko new.c, kot je prikazano spodaj. Ta datoteka se bo odslej uporabljala v naši kodi med izvajanjem programov za povratne nizove.





$ touch novo.c

Zdaj lahko odprete to datoteko za urejanje ali kodiranje z urejevalnikom Nano, ki je vgrajen v vaš sistem Ubuntu 20.04 Linux. Zato poskusite to narediti v spodnji lupini.



$ nano nov.c

Novo ustvarjena datoteka tipa C new je bila odprta v GNU Nano Editorju sistema Ubuntu 20.04. Vanj morate napisati skript C, kot je prikazano na spodnji sliki posnetka zaslona. Dovolite nam, da to kodo podrobneje opišemo za vaše boljše razumevanje. Na začetku kode smo vključili dve knjižnici. Knjižnica stdio.h je bila uporabljena za sprejemanje vnosov in prikaz izhodov, drugi knjižnični niz.h pa za uporabo vseh vrst nizov v naši kodi. Vse delo pri obračanju niza bo opravljeno v metodi main () kode C. Razglasili smo niz znakov vrste niz velikosti 50. To pomeni, da niza z več kot 50 znaki v tej kodi ni mogoče uporabljati. Po tem smo razglasili dve spremenljivki celobrojnega tipa. Spremenljivka l je bila uporabljena za zbiranje dolžine niza str, spremenljivka I pa za inicializator v zanki for. Nato smo uporabili izjavo printf za tiskanje besedila v lupini Enter string, ki uporabniku pove, naj nizni spremenljivki doda vrednost. Metoda scanf () je bila uporabljena za vnos uporabnika v času izvajanja in shranjevanje te vrednosti v niz str. Funkcija strlen () je bila uporabljena za preverjanje dolžine niza str, ki ga je uporabnik dodal med izvajanjem, in shranjevanje v spremenljivko l ’. Nato smo inicializirali for zanko, da bi obrnili niz str. Vidite lahko, da inicializator I 'vzame vrednost iz spremenljivke l, da obrne smer niza. Nato natisne znake niza str 'enega za drugim. V zadnjem je bila glavna metoda zaključena. Shranite to datoteko s kombinacijo tipk Ctrl+S in jo zaprite s kombinacijo tipk Ctrl+X.

Zdaj je čas, da sestavite kodo in preverite njen izhod. Zato je bila kompilacija izvedena s spodaj navedeno gcc poizvedbo z imenom datoteke new.c.

$ gcc nov.c

Ko kompilacija uspe, to pomeni, da v naši kodi ni napak. Izvedimo našo datoteko z a.out poizvedbo v lupini na naslednji način:

$./do.ven

Postopek izvajanja bo od uporabnika zahteval, da doda niz. Dodali smo I-Am-Aqsa-Yasin in pritisnili Enter. Vidite, da v naslednji vrstici vrne obratno vrvico.

Primer 02: Uporaba zamenjave

V tem primeru bomo za zamenjavo vrstnega reda niza uporabili metodo zamenjave. Zato znova odprite datoteko new.c z nano urejevalnikom, kot sledi:

$ nano nov.c

Zdaj je bila datoteka odprta v urejevalniku nano GNU; datoteko kode moramo posodobiti s spodaj prikazanim skriptom na posnetku zaslona. V našo kodo smo najprej vključili standardno datoteko z vhodno in izhodno glavo z uporabo ključne besede #include. Opredelili smo metodo Reverse () glede na uporabo tehnike zamenjave. Inicializirali smo tri spremenljivke tipa cela števila new, I in swap. Prva zanka for se uporablja za preverjanje, ali je niz s prazen ali ne. Naslednja zanka for se uporablja za ponovitev, v njenem telesu pa smo zamenjali vrednosti z uporabo novih in zamenjaj spremenljivk. Omeniti velja, da obračanje niza dolžine n traja le n/2 kroga. Ko zamenjate nize, boste morali znova prikazati obrnjeni niz, kar naredimo v naši aplikaciji s tretjo zanko for. Funkcijo Reverse () je treba poklicati iz notranjega glavnega programa. Navedli ste, kaj vaša programska oprema izvaja s printf v kontekstu main (). Po tem ste uporabili scanf () za vnos uporabnika in priklicali metodo Reverse (). Zdaj znova shranite datoteko s kombinacijo tipk Ctrl+S in pustite urejevalnik nano s pomočjo bližnjice Ctrl+X in se vrnite v terminalsko lupino.

Najprej sestavite kodo z gcc poizvedbo, kot je prikazano spodaj.

$ gcc nov.c

Zdaj izvedite kodno datoteko z istim ./a.out navodilom.

$./do.ven

Prosil vas bo, da vnesete vrednost niza. Dodali smo AqsaYasin in dobili obratno.

Primer 03: Uporaba rekurzije

V tem primeru bomo z uporabo rekurzije obrnili niz, ki ga je dodal uporabnik. Zato znova odprite datoteko.

$ nano nov.c

Ta program natisne Vnesite stavek: Nato se uporabi metoda Reverse (). Začetna črka, ki jo vnese uporabnik, se s to metodo shrani v c. Reverse () se znova izvede, če je argument kaj drugega kot n (nova vrstica). Ta postopek se nadaljuje, dokler uporabnik ne pritisne tipke Enter. Kadar koli uporabnik pritisne enter, metoda Reverse () natisne besedilo v obratnem vrstnem redu. Shranite in zaprite datoteko.

Najprej sestavite kodo in jo nato zaženite s prejšnjimi ukazi, kot sledi:

$ gcc nov.c

$./do.ven

Vidite lahko, da uporabnik vnese vnos kot celoten niz stavkov in nato obrne vrstni red tega stavka.

Zaključek:

Nazadnje smo naredili tri primere, s katerimi smo pripravili razveljavitev vnosa vrste niza z različnimi metodami, na primer z uporabo zanke for, uporabo rekurzije in uporabo swap.