Hur man vänder en sträng i C

How Reverse String C



I strängkodning är strängomvändning ett avgörande ämne. Det finns också flera metoder för att vända en sträng, som var och en har en annan logik. Denna artikel kommer att visa dig hur du korrekt vänder en sträng för att använda flera olika tillvägagångssätt och resonemang med och utan att behöva några förinställda funktioner. Närhelst omvändningen av en strängteknik tillämpas i en särskild unik inmatningssträng, kommer texten som en konsument skulle tillhandahålla i en specifik ordning att bli helt omvänd. I exemplet nedan har olika alternativ för att vända en sträng med C använts.

När vi implementerade den här guiden har vi arbetat med Ubuntu 20.04 Linux -system konfigurerat på Virtual Box. När vi arbetade med ett Linux -system brukade vi göra de flesta av våra installationer och frågor på terminalhöljet. Därför öppnar du terminalhöljet med en genväg Ctrl+Alt+T eller söker det via en sökfält för program under aktivitetsområdet på Ubuntu -skrivbordet. Det är nödvändigt att uppdatera ditt system först via den lämpliga uppdateringsfrågan. Det kommer att be dig om det nuvarande användarlösenordet för att köra uppdateringen. Lägg därför till ett lösenord och tryck på Enter -knappen.







$ sudo apt uppdatering



Eftersom vi har använt programmeringsspråket C för att utveckla konceptet med att vända strängar i Ubuntu 20.04 -systemet, bör man ha en C -kompilator installerad på sitt Ubuntu -system. Se därför till att installera GCC -kompilatorn på ditt system via nedanstående fråga.



$ sudo apt installera gcc

Exempel 01: Using For Loop

Efter installationen och konfigurationen av GCC -kompilatorn och uppdatering av apt -paketet blir det en ny fil. Denna fil ska vara av C -typ; använd därför kommandot touch för att skapa en fil new.c enligt nedan. Denna fil kommer att användas i vår kod från och med nu under implementeringen av omvända strängprogram.





$ touch ny.c

Nu kan du öppna den här filen för redigering eller kodning av en Nano-editor som har inbyggts i ditt Ubuntu 20.04 Linux-system. Försök därför instruktionen nedan i ditt skal för att göra det.



$ nano nytt.c

Den nyskapade filen C-typ ny har öppnats i GNU Nano Editor för Ubuntu 20.04-systemet. Du måste skriva ett C -skript i det, som visas i skärmdumpen nedan. Låt oss utveckla denna kod för din bättre förståelse. I början av en kod har vi inkluderat två bibliotek. Biblioteket stdio.h har använts för att ta in och visa utdata, och den andra bibliotekssträngen. H har använts för att använda alla möjliga strängar i vår kod. Allt arbete med att vända en sträng kommer att utföras i huvudmetoden () för en C -kod. Vi har deklarerat en sträng med tecken av typ 50. Det betyder att en sträng med mer än 50 tecken inte kan underhållas i den här koden. Efter det har vi deklarerat två variabler av heltalstyp. Variabeln l har använts för att samla längden på en strängstr och variabeln I kommer att användas som en initierare för loop. Sedan har vi använt en printf -sats för att skriva ut en text på skalet Enter -sträng, som säger till en användare att lägga till ett värde i en strängvariabel. Metoden scanf () har använts för att mata in användaren vid körning och spara det värdet i en strängstr. Funktionen strlen () har använts för att kontrollera längden på en strängstr som har lagts till av en användare vid körningstid och spara den i en variabel l ’. Sedan initierade vi en for loop för att vända strängen str. Du kan se att initialiseraren I ’tar värdet från en variabel l för att vända en strängs riktning. Sedan skriver den ut tecknen i en sträng str 'en efter en omvändning. I det sista har huvudmetoden avslutats. Spara filen med Ctrl+S och avsluta den med Ctrl+X.

Nu är det dags att kompilera koden och kontrollera efter dess utmatning. Därför har sammanställningen gjorts av den nedan angivna gcc-frågan med namnet på en fil new.c.

$ gcc ny.c

När sammanställningen blir framgångsrik betyder det att det inte finns något fel i vår kod. Låt oss köra vår fil med a.out -fråga i skalet enligt följande:

$./till.ut

Exekveringsprocessen kommer att be användaren att lägga till en sträng. Vi har lagt till I-Am-Aqsa-Yasin och tryckt på Enter. Du kan se att det returnerar baksidan av en sträng på följande rad.

Exempel 02: Använda byte

I det här exemplet använder vi bytningsmetoden för att vända en strängs ordning. Därför öppnar du filen new.c igen med hjälp av nanoredigeraren enligt följande:

$ nano nytt.c

Nu har filen öppnats i GNU nano -redigeraren; vi måste uppdatera kodfilen med nedanstående skript i skärmdumpen. Vi har inkluderat standardinmatnings- och utmatningsrubriken i vår kod först med hjälp av sökordet #include. Vi har definierat en metod Reverse () enligt byte teknikens användning. Vi har initierat tre heltalstypvariabler new, I och swap. Den första för loop används för att kontrollera om strängen s är tom eller inte. Nästa för loop används för iteration, och i dess kropp har vi bytt ut värdena med nya och byt variabler. Det är värt att notera att att vända en sträng med n-längd bara tar n/2 omgångar. När strängarna har bytts måste du slinga igen för att visa den omvända strängen, vilket vi gör i vår applikation med en tredje för loop. Funktionen Reverse () måste anropas från huvudprogrammet inuti. Du har angett vad din programvara utför med printf inom ramen för main (). Efter det använde du scanf () för att få användarinmatning och åberopade metoden Reverse (). Spara nu filen igen med Ctrl+S och lämna nanoredigeraren genom Ctrl+X -genväg och återgå till terminalskalet.

Kompilera koden först med en gcc -fråga enligt nedan.

$ gcc ny.c

Kör nu kodfilen med samma ./a.out -instruktion.

$./till.ut

Det kommer att be dig att ange strängvärdet. Vi har lagt till AqsaYasin och fått det omvända.

Exempel 03: Använda rekursion

I det här exemplet kommer vi att använda rekursion för att vända en sträng som har lagts till av en användare. Öppna därför filen igen.

$ nano nytt.c

Detta program skriver ut Ange en mening: En metod omvänd () används sedan. Den första bokstaven som matas in av en användare sparas i c genom denna metod. Omvänd () körs igen om argumentet är något annat än n (ny rad). Denna procedur fortsätter tills användaren trycker på Enter -knappen. När användaren trycker på enter skriver metoden Reverse () ut texten i omvänd ordning. Spara och stäng filen.

Kompilera koden först och kör den sedan med de tidigare kommandona enligt följande:

$ gcc ny.c

$./till.ut

Du kan se att det tar inmatning från en användare som en hel strängsats och sedan vända ordningens ordning.

Slutsats:

Slutligen har vi gjort tre exempel för att utveckla omvändning av en strängtypsinmatning med olika metoder, t.ex. att använda för loop, använda rekursion och använda swap.