Hvordan snu en streng i C

How Reverse String C



I strengkoding er streng reversering et avgjørende tema. Det er også flere metoder for å reversere en streng, som hver har en annen logikk. Denne artikkelen viser deg hvordan du reverserer en streng på riktig måte for å bruke flere forskjellige tilnærminger og resonnementer med og uten å kreve forhåndsinnstilte funksjoner. Når reversering av en strengteknikk brukes i en spesiell unik inngangsstreng, blir teksten som en forbruker vil levere i en bestemt rekkefølge, fullstendig reversert. I eksempelet nedenfor har forskjellige alternativer for reversering av en streng med C blitt benyttet.

Ved implementering av denne guiden har vi jobbet med Ubuntu 20.04 Linux -system konfigurert på Virtual Box. Mens vi jobbet med et Linux -system, pleide vi å gjøre de fleste av våre installasjoner og forespørsler på terminalskallet. Derfor åpner du terminalskallet med en snarvei Ctrl+Alt+T eller søker på det via en søkefelt i programmet under aktivitetsområdet på Ubuntu -skrivebordet. Det er nødvendig å oppdatere systemet først via apt -spørringen. Det vil be deg om det gjeldende brukerpassordet for å kjøre oppdateringen. Legg derfor til et passord og trykk Enter -knappen.







$ sudo apt oppdatering



Ettersom vi har brukt C -programmeringsspråket til å utdype begrepet reversering av strenger i Ubuntu 20.04 -systemet, bør man ha en C -kompilator installert på Ubuntu -systemet. Sørg derfor for å installere GCC -kompilatoren på systemet ditt via spørringen nedenfor.



$ sudo apt installer gcc

Eksempel 01: Using For Loop

Etter installasjon og konfigurasjon av GCC -kompilatoren og oppdatering av apt -pakken, blir det en ny fil. Denne filen skal være av C -type; Bruk derfor berøringskommandoen for å lage en fil new.c som nedenfor. Denne filen vil bli brukt i koden vår fra nå av under implementeringen av omvendte strengprogrammer.





$ touch nytt.c

Nå kan du åpne denne filen for redigering eller koding av en Nano-editor som har blitt innebygd i ditt Ubuntu 20.04 Linux-system. Prøv derfor instruksjonene nedenfor i skallet ditt for å gjøre det.



$ nano nytt.c

Den nyopprettede C-typen filen ny har blitt åpnet i GNU Nano Editor for Ubuntu 20.04-systemet. Du må skrive et C -skript i det, som vist på skjermdumpbildet nedenfor. La oss utdype denne koden for din bedre forståelse. Ved starten av en kode har vi inkludert to biblioteker. Biblioteket stdio.h har blitt brukt til å ta innganger og vise utgangene, og den andre bibliotekstrengen. H har blitt brukt til å bruke alle slags strenger i koden vår. Alt arbeidet med å reversere en streng vil bli utført i hovedmetoden () for en C -kode. Vi har deklarert en tegntype streng str med størrelse 50. Dette betyr at en streng med mer enn 50 tegn ikke kan underholdes i denne koden. Etter det har vi deklarert to heltallstypevariabler. Variabelen l har blitt brukt til å samle lengden på en strengstr, og variabelen I vil bli brukt som en initializer i for loop. Deretter har vi brukt en printf -setning for å skrive ut en tekst på skallet Enter -streng, og ber en bruker legge til en verdi i en strengvariabel. Metoden scanf () har blitt brukt til å legge inn brukeren ved kjøretid og lagre verdien i en strengstr. Funksjonen strlen () har blitt brukt til å kontrollere lengden på en strengstr som er lagt til av en bruker ved kjøretid og lagre den i en variabel l ’. Deretter initialiserte vi en for loop for å reversere strengen str. Du kan se at initialisatoren I ’tar verdien fra en variabel l for å reversere retningen til en streng. Deretter skriver den ut tegnene i en streng str ’en etter en reversering. I det siste er hovedmetoden avsluttet. Lagre denne filen med Ctrl+S og avslutt den via Ctrl+X.

Nå er det på tide å kompilere koden og sjekke utgangen. Derfor er samlingen gjort av den nedenfor angitte gcc-forespørselen med navnet på en fil new.c.

$ gcc nytt.c

Etter hvert som samlingen blir vellykket, betyr det at det ikke er noen feil i koden vår. La oss utføre filen vår med a.out -spørring i skallet som følger:

$./til.ute

Utførelsesprosessen vil be brukeren om å legge til en streng. Vi har lagt til I-Am-Aqsa-Yasin og trykket Enter. Du kan se at den returnerer baksiden av en streng på følgende linje.

Eksempel 02: Bruke bytte

I dette eksemplet bruker vi bytte -metoden for å reversere rekkefølgen på en streng. Derfor åpner du filen new.c igjen ved å bruke nano -editoren som følger:

$ nano nytt.c

Nå har filen blitt åpnet i GNU nano -editoren; Vi må oppdatere kodefilen med skriptet som vises nedenfor. Vi har inkludert standard input- og output header -fil i koden vår først ved å bruke søkeordet #include. Vi har definert en metode Reverse () i henhold til bytte teknikkens bruk. Vi har initialisert tre heltallstypevariabler nye, I og bytte. Den første for loop brukes til å kontrollere om strengen s er tom eller ikke. Den neste for loop brukes til iterasjon, og i kroppen har vi byttet verdier ved å bruke nye og bytte variabler. Det er verdt å merke seg at å reversere en n-lengde streng bare tar n/2 runder. Når strengene er byttet, må du sløyfe igjen for å vise den omvendte strengen, som vi gjør i appen vår ved å bruke en tredje for løkke. Funksjonen Reverse () må kalles fra hovedprogrammet inne. Du har angitt hva programvaren din utfører med printf innenfor konteksten av main (). Etter det brukte du scanf () for å få brukerinngang og påkalte Reverse () -metoden. Lagre filen igjen ved hjelp av Ctrl+S, og forlat nano -editoren med Ctrl+X snarvei og gå tilbake til terminalskallet.

Kompiler koden først med en gcc -spørring som nedenfor.

$ gcc nytt.c

Utfør nå kodefilen med samme ./a.out instruksjon.

$./til.ute

Det vil be deg om å angi strengverdien. Vi har lagt til AqsaYasin og fått det motsatte.

Eksempel 03: Bruke rekursjon

I dette eksemplet bruker vi rekursjon for å reversere en streng som er lagt til av en bruker. Derfor åpner du filen igjen.

$ nano nytt.c

Dette programmet skriver ut Skriv inn en setning: En metode omvendt () brukes deretter. Den første bokstaven som er lagt inn av en bruker, blir lagret i c gjennom denne metoden. Omvendt () kjøres igjen hvis argumentet er noe annet enn n (ny linje). Denne prosedyren fortsetter til brukeren trykker på Enter -tasten. Når brukeren trykker enter, skriver metoden Reverse () ut teksten i omvendt rekkefølge. Lagre og lukk filen.

Kompiler koden først og kjør den ved å bruke de forrige kommandoene som følger:

$ gcc nytt.c

$./til.ute

Du kan se at det tar input fra en bruker som en hel stringsetning og deretter reversere rekkefølgen på den setningen.

Konklusjon:

Til slutt har vi gjort tre eksempler for å utdype å reversere en strengtypeinngang med forskjellige metoder, for eksempel å bruke for sløyfe, bruke rekursjon og bruke bytte.