Kuidas stringi C ümber pöörata

How Reverse String C



Stringide kodeerimisel on stringide ümberpööramine ülioluline teema. Stringi ümberpööramiseks on ka mitmeid meetodeid, millest igaühel on erinev loogika. See artikkel näitab teile, kuidas stringi õigesti ümber pöörata, et kasutada mitut erinevat lähenemist ja arutluskäiku koos eelseadistatud funktsioonidega ja ilma. Kui stringitehnika tagasipööramist rakendatakse konkreetses unikaalses sisendstringis, pööratakse tekst, mille tarbija kindlas järjekorras esitaks. Alloleval näitel on kasutatud erinevaid alternatiive stringi C -ga ümberpööramiseks.

Selle juhendi rakendamisel oleme töötanud Virtual Boxi konfigureeritud Ubuntu 20.04 Linuxi süsteemi kallal. Linuxi süsteemi kallal töötades tegime enamiku installidest ja päringutest terminali kestas. Seega avage terminali kest otsetee Ctrl+Alt+T abil või otsige seda rakenduse otsinguriba kaudu Ubuntu töölaua ala Tegevusala alt. Esmalt on vaja oma süsteemi värskendada apt update päringu kaudu. See küsib värskenduse käivitamiseks praegust kasutaja parooli. Seetõttu lisage parool ja vajutage sisestusklahvi.







$ sudo apt värskendus



Kuna oleme Ubuntu 20.04 süsteemis stringide ümberpööramise kontseptsiooni väljatöötamiseks kasutanud C -programmeerimiskeelt, peaks nende Ubuntu süsteemi olema installitud C -kompilaator. Seetõttu installige GCC kompilaator oma süsteemi kindlasti alloleva päringu kaudu.



$ sudo apt install gcc

Näide 01: kasutamine silmuse jaoks

Pärast GCC kompilaatori installimist ja konfigureerimist ning apt -paketi värskendamist luuakse uus fail. See fail peaks olema C -tüüpi; seetõttu kasutage puutekäsku, et luua fail new.c nagu allpool. Seda faili kasutatakse edaspidi meie koodis pöördstringuprogrammide rakendamise ajal.





$ puudutage uut.c

Nüüd saate selle faili avada redigeerimiseks või kodeerimiseks Nano redaktori abil, mis on teie Ubuntu 20.04 Linuxi süsteemi sisse ehitatud. Seetõttu proovige selle tegemiseks oma kesta alltoodud juhiseid.



$ nano uus.c

Äsja loodud C-tüüpi fail new on avatud Ubuntu 20.04 süsteemi GNU Nano Editoris. Sellesse peate kirjutama C -skripti, nagu on näidatud alloleval ekraanipildil. Täpsustame seda koodi teie paremaks mõistmiseks. Koodi alguses oleme lisanud kaks raamatukogu. Raamatukogu stdio.h on kasutatud sisendite võtmiseks ja väljundite kuvamiseks ning teist raamatukogu string.h on kasutatud meie koodis igasuguste stringide kasutamiseks. Kogu stringi tagasipööramise töö tehakse C -koodi peamises () meetodis. Oleme deklareerinud märgitüübi stringi suurusega 50. See tähendab, et rohkem kui 50 tähemärki sisaldavat stringi ei saa selles koodis kasutada. Pärast seda oleme deklareerinud kaks täisarvu tüüpi muutujat. Muutujat l on kasutatud string str pikkuse kogumiseks ja muutujat I kasutatakse silmuse initsiaatorina. Seejärel oleme kasutanud printf lauset teksti printimiseks kestale Enter string, käskides kasutajal lisada stringimuutujale väärtus. Meetodit scanf () on kasutatud kasutaja sisestamiseks käitusajal ja selle väärtuse salvestamiseks stringi str. Funktsiooni strlen () on kasutatud, et kontrollida stringi str pikkust, mille kasutaja on lisanud käitusajal ja salvestada selle muutuja l ’. Seejärel initsialiseerisime for for stringi str. Näete, et initsialiseerija I ’võtab väärtuse muutujast l stringi suuna muutmiseks. Seejärel prindib see stringi stringide ükshaaval ümberpööramise. Viimasel juhul on peamine meetod lõpetatud. Salvestage see fail klahvikombinatsiooni Ctrl+S abil ja sulgege see klahvikombinatsiooni Ctrl+X abil.

Nüüd on aeg kood kompileerida ja kontrollida selle väljundit. Seega on kompileerimise teinud allpool esitatud gcc päring faili nimega new.c.

$ gcc uus.c

Kui kompileerimine õnnestub, tähendab see, et meie koodis pole viga. Käivitame oma faili kesta a.out päringu abil järgmiselt:

$./et.välja

Täitmisprotsess palub kasutajal lisada stringi. Oleme lisanud I-Am-Aqsa-Yasin ja vajutanud sisestusklahvi. Näete, et see tagastab stringi tagurpidi järgmisel real.

Näide 02: Vahetamise kasutamine

Selles näites kasutame stringide järjekorra ümberpööramiseks vahetusmeetodit. Seega avage fail new.c uuesti nanoredaktori abil järgmiselt:

$ nano uus.c

Nüüd on fail GNU nanoredaktoris avatud; peame värskendama koodifaili ekraanipildil allpool näidatud skriptiga. Oleme standardse sisendi ja väljundi päisefaili oma koodi lisanud kõigepealt märksõna #include abil. Vahetustehnika kasutamisel oleme määratlenud meetodi Reverse (). Oleme lähtestanud kolm täisarvu tüüpi muutujat uus, I ja vahetus. Esimest silmuse jaoks kontrollitakse, kas string s on tühi või mitte. Järgmist tsüklit kasutatakse iteratsiooniks ja selle põhiosas oleme väärtused uute ja vahetusmuutujate abil vahetanud. Väärib märkimist, et n-pikkuse stringi ümberpööramine võtab lihtsalt n/2 ringi. Kui stringid on vahetatud, peate tagurpidi stringi kuvamiseks uuesti loopima, mida teeme oma rakenduses, kasutades kolmandat silmust. Funktsiooni Reverse () tuleb kutsuda sisse põhiprogrammist. Olete maininud, mida teie tarkvara printf abil main () kontekstis täidab. Pärast seda kasutasite kasutaja sisendi saamiseks scanf () ja kasutasite meetodit Reverse (). Nüüd salvestage fail uuesti klahvikombinatsiooni Ctrl+S abil ja jätke nanoredaktor Ctrl+X otsetee abil ning naaske terminali kesta.

Koostage kood kõigepealt gcc päringu abil, nagu allpool.

$ gcc uus.c

Nüüd käivitage koodifail, kasutades sama käsku ./a.out.

$./et.välja

See palub teil sisestada stringi väärtuse. Oleme lisanud AqsaYasini ja saanud selle tagurpidi.

Näide 03: Rekursiooni kasutamine

Selles näites kasutame kasutaja lisatud stringi tagasipööramiseks rekursiooni. Seetõttu avage fail uuesti.

$ nano uus.c

See programm prindib Sisesta lause: Seejärel kasutatakse tagurpidi () meetodit. Selle meetodi abil salvestatakse kasutaja sisestatud algustäht c -vormingus. Reverse () käivitatakse uuesti, kui argument on midagi muud kui n (uus rida). See protseduur jätkub seni, kuni kasutaja vajutab sisestusklahvi. Kui kasutaja vajutab sisestusklahvi, prindib tagurpidi () tekst teksti vastupidises järjekorras. Salvestage ja sulgege fail.

Kompileerige kõigepealt kood ja seejärel käivitage see, kasutades eelnevaid käske järgmiselt:

$ gcc uus.c

$./et.välja

Näete, et see võtab kasutajalt sisendi täislause kujul ja muudab selle lause järjekorda vastupidiseks.

Järeldus:

Lõpuks oleme teinud kolm näidet, et täpsustada stringi tüüpi sisendi tagasipööramist erinevate meetoditega, nt kasutades tsüklit, kasutades rekursiooni ja vahetust.