Kaip pakeisti eilutę C

How Reverse String C



Koduojant eilutes, eilutės keitimas yra esminė tema. Taip pat yra keletas būdų, kaip pakeisti eilutę, kurių kiekviena turi skirtingą logiką. Šis straipsnis parodys, kaip tinkamai pakeisti eilutę, kad būtų naudojami keli skirtingi metodai ir samprotavimai, nereikalaujant jokių iš anksto nustatytų funkcijų. Kai tam tikroje unikalioje įvesties eilutėje taikomas eilutės metodo pakeitimas, tekstas, kurį vartotojas pateiktų tam tikra tvarka, bus visiškai pakeistas. Žemiau esančiame pavyzdyje buvo naudojamos skirtingos eilutės su C pakeitimo alternatyvos.

Įgyvendindami šį vadovą, mes dirbome su „Ubuntu 20.04 Linux“ sistema, sukonfigūruota „Virtual Box“. Dirbdami su „Linux“ sistema, daugumą diegimų ir užklausų atlikome terminalo korpuse. Taigi atidarykite terminalo apvalkalą naudodami spartųjį klavišą Ctrl+Alt+T arba ieškokite jo naudodami programų paieškos juostą, esančią Ubuntu darbalaukio veiklos srityje. Pirmiausia reikia atnaujinti sistemą naudojant apt atnaujinimo užklausą. Norėdami paleisti atnaujinimą, jis paprašys jūsų dabartinio vartotojo slaptažodžio. Taigi pridėkite slaptažodį ir paspauskite „Enter“ mygtuką.







$ sudo apt atnaujinimas



Kadangi mes naudojome C programavimo kalbą, kad galėtume parengti „Ubuntu 20.04“ eilutės pakeitimo koncepciją, jų „Ubuntu“ sistemoje turėtų būti įdiegtas C kompiliatorius. Todėl būtinai įdiekite GCC kompiliatorių savo sistemoje naudodami žemiau pateiktą užklausą.



$ sudo apt install gcc

01 pavyzdys: „For Loop“ naudojimas

Įdiegus ir sukonfigūravus GCC kompiliatorių ir atnaujinus apt paketą, jis sukuria naują failą. Šis failas turi būti C tipo; todėl naudokite lietimo komandą, kad sukurtumėte failą new.c, kaip nurodyta toliau. Šis failas nuo šiol bus naudojamas mūsų kode, kai bus įdiegtos atvirkštinės eilutės programos.





$ touch naujas.c

Dabar galite atidaryti šį failą redaguoti ar koduoti naudodami „Nano“ redaktorių, kuris buvo įmontuotas jūsų „Ubuntu 20.04 Linux“ sistemoje. Todėl, norėdami tai padaryti, išbandykite toliau pateiktą instrukciją.



$ nano naujas.c

Naujai sukurtas naujas C tipo failas buvo atidarytas „Ubuntu 20.04“ sistemos „GNU Nano“ redaktoriuje. Turite parašyti C scenarijų, kaip parodyta žemiau esančiame ekrano paveikslėlyje. Leiskite mums išsamiau paaiškinti šį kodą, kad geriau suprastumėte. Kodo pradžioje įtraukėme dvi bibliotekas. Biblioteka stdio.h buvo naudojama įvestims įvesti ir išvestims rodyti, o kita bibliotekos eilutė string.h buvo naudojama visoms mūsų kodo eilutėms. Visas eilutės pakeitimo darbas bus atliekamas naudojant pagrindinį () C kodo metodą. Mes paskelbėme simbolio tipo eilutę str, kurios dydis yra 50. Tai reiškia, kad šiame kode negalima naudoti daugiau nei 50 simbolių eilutės. Po to paskelbėme du sveikojo tipo kintamuosius. Kintamasis l buvo naudojamas eilutės str ilgiui rinkti, o kintamasis I bus naudojamas kaip ciklo inicialistas. Tada mes panaudojome printf sakinį, norėdami išspausdinti tekstą ant apvalkalo Įveskite eilutę, nurodydami vartotojui pridėti reikšmę prie eilutės kintamojo. „Scanf“ () metodas buvo naudojamas įvesti vartotoją vykdymo metu ir išsaugoti šią reikšmę eilutėje str. Funkcija strlen () buvo naudojama norint patikrinti eilutės str, kurią vartotojas pridėjo vykdymo metu, ilgį ir išsaugojo ją kintamajame l ’. Tada mes inicijavome ciklą for, kad pakeistume eilutę str. Matote, kad inicializatorius I ’paima reikšmę iš kintamojo l, kad pakeistų eilutės kryptį. Tada jis atspausdina eilutės str simbolius vienas po kito. Paskutinis pagrindinis metodas buvo baigtas. Išsaugokite šį failą naudodami Ctrl+S ir uždarykite jį naudodami Ctrl+X.

Dabar atėjo laikas surinkti kodą ir patikrinti jo išvestį. Taigi kompiliacija buvo atlikta žemiau nurodyta gcc užklausa su failo pavadinimu new.c.

$ gcc naujas.c

Kadangi kompiliacija yra sėkminga, tai reiškia, kad mūsų kode nėra klaidų. Vykdykime savo failą naudodami apvalkalo užklausą taip:

$./į.išeiti

Vykdymo procesas paprašys vartotojo pridėti eilutę. Mes pridėjome „I-Am-Aqsa-Yasin“ ir paspaudėme „Enter“. Galite pamatyti, kad šioje eilutėje pateikiamas eilutės atvirkštinis variantas.

02 pavyzdys: apsikeitimo naudojimas

Šiame pavyzdyje mes naudosime apsikeitimo metodą, kad pakeistume eilutės tvarką. Taigi dar kartą atidarykite failą new.c naudodami nano redaktorių taip:

$ nano naujas.c

Dabar failas buvo atidarytas GNU nano redaktoriuje; turime atnaujinti kodo failą naudodami žemiau pateiktą scenarijų ekrano kopijoje. Į savo kodą pirmiausia įtraukėme standartinį įvesties ir išvesties antraštės failą, naudodami raktinį žodį #include. Mes nustatėme metodą „Atvirkštinis“ () pagal apsikeitimo technikos naudojimą. Mes inicijavome tris sveikojo tipo kintamuosius - naują, I ir apsikeitimą. Pirmasis ciklui naudojamas patikrinti, ar eilutė s tuščia, ar ne. Kitas ciklui naudojamas iteracijai, o jo pagrinde mes pakeitėme reikšmes naudodami naujus ir apsikeitimo kintamuosius. Verta paminėti, kad n ilgio eilutės pakeitimas trunka tik n/2 raundų. Kai eilutės bus pakeistos, turėsite dar kartą atlikti kilpą, kad būtų parodyta atvirkštinė eilutė, kurią mes darome savo programoje, naudodami trečiąją ciklą. Funkcija Reverse () turi būti iškviesta iš vidinės pagrindinės programos. Jūs nurodėte, ką jūsų programinė įranga atlieka su „printf“ pagrindinio () kontekste. Po to naudojote „scanf“ (), kad gautumėte vartotojo įvestį, ir iškvietėte „Reverse“ () metodą. Dabar dar kartą išsaugokite failą naudodami „Ctrl+S“ ir palikite „nano“ redaktorių naudodami „Ctrl“+X spartųjį klavišą ir grįžkite į terminalo apvalkalą.

Pirmiausia surinkite kodą naudodami gcc užklausą, kaip nurodyta toliau.

$ gcc naujas.c

Dabar vykdykite kodo failą naudodami tą pačią instrukciją ./a.out.

$./į.išeiti

Jis paprašys įvesti eilutės reikšmę. Mes pridėjome „AqsaYasin“ ir gavome atvirkštinę versiją.

03 pavyzdys. Rekursijos naudojimas

Šiame pavyzdyje mes naudosime rekursiją, kad pakeistume vartotojo pridėtą eilutę. Taigi dar kartą atidarykite failą.

$ nano naujas.c

Ši programa spausdina Įveskite sakinį: Tada naudojamas atvirkštinis () metodas. Naudotojo įvesta pradinė raidė šiuo metodu išsaugoma c. Atvirkštinis () vykdomas dar kartą, jei argumentas yra ne n (nauja eilutė). Ši procedūra tęsiama tol, kol vartotojas paspaudžia „Enter“ klavišą. Kai vartotojas paspaudžia „Enter“, atvirkštinis () metodas spausdina tekstą atvirkštine tvarka. Išsaugokite ir uždarykite failą.

Pirmiausia sukompiliuokite kodą ir paleiskite jį naudodami ankstesnes komandas taip:

$ gcc naujas.c

$./į.išeiti

Matote, kad vartotojas įveda visą eilutės sakinį, o tada pakeičia to sakinio eiliškumą.

Išvada:

Galiausiai, mes padarėme tris pavyzdžius, kad išsiaiškintume, kaip pakeisti eilutės tipo įvestį įvairiais metodais, pvz., Naudojant ciklą, naudojant rekursiją ir naudojant apsikeitimą.