Sådan vendes en streng i C

How Reverse String C



I strengkodning er strengomvendelse et afgørende emne. Der er også flere metoder til at vende en streng, som hver har en anden logik. Denne artikel viser dig, hvordan du korrekt vender en streng for at bruge flere forskellige tilgange og ræsonnementer med og uden at kræve forudindstillede funktioner. Når reversering af en strengteknik anvendes i en bestemt unik inputstreng, vil teksten, som en forbruger ville levere i en bestemt rækkefølge, blive fuldstændig omvendt. I nedenstående eksempel er forskellige alternativer til reversering af en streng med C blevet anvendt.

Ved implementeringen af ​​denne vejledning har vi arbejdet på Ubuntu 20.04 Linux -system konfigureret på Virtual Box. Mens vi arbejdede på et Linux -system, plejede vi at udføre de fleste af vores installationer og forespørgsler på terminalskallen. Åbn derfor terminalskallen med en genvej Ctrl+Alt+T eller søg den via en applikationssøgelinje under aktivitetsområdet på Ubuntu -skrivebordet. Det er nødvendigt at opdatere dit system først via den passende opdateringsforespørgsel. Det vil bede dig om den aktuelle brugeradgangskode for at køre opdateringen. Tilføj derfor en adgangskode, og tryk på Enter -knappen.







$ sudo apt opdatering



Da vi har brugt C -programmeringssproget til at udarbejde konceptet om at vende strenge i Ubuntu 20.04 -systemet, bør man have en C -compiler installeret på deres Ubuntu -system. Sørg derfor for at installere GCC -kompilatoren på dit system via forespørgslen herunder.



$ sudo apt installer gcc

Eksempel 01: Brug af For Loop

Efter installation og konfiguration af GCC -kompilatoren og opdatering af apt -pakken bliver det til at oprette en ny fil. Denne fil skal være af C -typen; Brug derfor kommandoen touch til at oprette en fil new.c som nedenfor. Denne fil vil blive brugt i vores kode fra nu af under implementeringen af ​​reverse string -programmer.





$ touch nyt.c

Nu kan du åbne denne fil til redigering eller kodning af en Nano-editor, der er indbygget i dit Ubuntu 20.04 Linux-system. Prøv derfor instruktionen herunder i din skal for at gøre det.



$ nano nyt.c

Den nyoprettede C-type fil ny er blevet åbnet i GNU Nano Editor af Ubuntu 20.04-systemet. Du skal skrive et C -script i det, som det fremgår af skærmbilledet herunder. Lad os uddybe denne kode for din bedre forståelse. I starten af ​​en kode har vi inkluderet to biblioteker. Biblioteket stdio.h er blevet brugt til at tage input og vise output, og den anden biblioteksstreng. H er blevet brugt til at bruge alle slags strenge i vores kode. Alt arbejde med at vende en streng udføres i hovedmetoden () for en C -kode. Vi har erklæret en tegntype string str med størrelse 50. Det betyder, at en streng med mere end 50 tegn ikke kan underholdes i denne kode. Derefter har vi erklæret to variabler af heltalstype. Variablen l er blevet brugt til at indsamle længden af ​​en strengstr, og variablen I vil blive brugt som en initializer i for loop. Derefter har vi brugt en printf -sætning til at udskrive en tekst på skallen Enter -streng, der fortæller en bruger at tilføje en værdi til en strengvariabel. Scanf () -metoden er blevet brugt til at indtaste brugeren i løbetid og gemme denne værdi i en strengstr. Funktionen strlen () er blevet brugt til at kontrollere længden af ​​en strengstr, der er tilføjet af en bruger i løbetid, og gemme den i en variabel l ’. Derefter initialiserede vi en for loop for at vende strengen str. Du kan se, at initialisatoren I ’tager værdien fra en variabel l for at vende retningen af ​​en streng. Derefter udskriver den tegnene i en streng str ’en efter en omvendelse. I det sidste er hovedmetoden afsluttet. Gem denne fil ved hjælp af Ctrl+S, og afslut den via Ctrl+X.

Nu er det tid til at kompilere koden og kontrollere dens output. Derfor er kompileringen foretaget af den nedenfor anførte gcc-forespørgsel med navnet på en fil new.c.

$ gcc ny.c

Da kompilationen bliver vellykket, betyder det, at der ikke er nogen fejl i vores kode. Lad os eksekvere vores fil ved a.out -forespørgsel i skallen som følger:

$./til.ud

Udførelsesprocessen beder brugeren om at tilføje en streng. Vi har tilføjet I-Am-Aqsa-Yasin og trykket på Enter. Du kan se det returnerer bagsiden af ​​en streng på følgende linje.

Eksempel 02: Brug af bytte

I dette eksempel bruger vi udskiftningsmetoden til at vende rækkefølgen af ​​en streng. Åbn derfor filen new.c igen ved hjælp af nano -editoren som følger:

$ nano nyt.c

Nu er filen blevet åbnet i GNU nano -editoren; vi skal opdatere kodefilen med det nedenfor viste script i skærmbilledet. Vi har inkluderet standard input- og output header -filen i vores kode først ved hjælp af et søgeord #include. Vi har defineret en metode Reverse () i henhold til bytte teknikens brug. Vi har initialiseret tre heltalstypevariabler nye, I og bytte. Den første til loop bruges til at kontrollere, om strengen s er tom eller ej. Den næste til loop bruges til iteration, og i dens krop har vi byttet værdierne ved hjælp af nye og swap -variabler. Det er værd at bemærke, at reversering af en n-længde streng bare tager n/2 runder. Når strenge er blevet byttet, skal du sløjfe igen for at vise den omvendte streng, som vi gør i vores applikation ved hjælp af en tredje for loop. Funktionen Reverse () skal kaldes fra hovedprogrammet inde. Du har angivet, hvad din software udfører med printf inden for rammerne af main (). Derefter brugte du scanf () til at få brugerinput og påberåbte metoden Reverse (). Gem nu filen igen ved hjælp af Ctrl+S, og lad nano -editoren stå ved Ctrl+X genvej og vende tilbage til terminalskallen.

Kompiler koden først med en gcc -forespørgsel som nedenfor.

$ gcc ny.c

Udfør nu kodefilen med den samme ./a.out instruktion.

$./til.ud

Det vil bede dig om at indtaste strengværdien. Vi har tilføjet AqsaYasin og fik det modsatte.

Eksempel 03: Brug af rekursion

I dette eksempel vil vi bruge rekursion til at vende en streng tilføjet af en bruger. Åbn derfor filen igen.

$ nano nyt.c

Dette program udskriver Indtast en sætning: En metode omvendt () bruges derefter. Det første bogstav, der er indtastet af en bruger, gemmes i c via denne metode. Reverse () udføres igen, hvis argumentet er noget andet end n (ny linje). Denne procedure fortsætter, indtil brugeren trykker på Enter -tasten. Når brugeren trykker på enter, udskriver metoden Reverse () teksten i omvendt rækkefølge. Gem og luk filen.

Kompilér koden først, og kør den derefter ved at bruge de tidligere kommandoer som følger:

$ gcc ny.c

$./til.ud

Du kan se, at det tager input fra en bruger som en hel stregsætning og derefter vende rækkefølgen af ​​denne sætning.

Konklusion:

Endelig har vi gjort tre eksempler for at uddybe omvendelse af en strengtypeindgang med forskellige metoder, f.eks. Brug for loop, brug af recursion og brug af swap.