Kako preokrenuti niz u C

How Reverse String C



U kodiranju nizova, preokret nizova ključna je tema. Postoji i nekoliko metoda za preokretanje niza, od kojih svaka ima drugačiju logiku. Ovaj članak će vam pokazati kako pravilno preokrenuti niz kako biste koristili nekoliko različitih pristupa i zaključivanja sa i bez potrebe za bilo kakvim unaprijed postavljenim funkcijama. Kad god se preokret tehnike niza primijeni u određenom jedinstvenom unosnom nizu, tekst koji bi potrošač dao u određenom redoslijedu bit će potpuno obrnut. U donjem primjeru korištene su različite alternative preokretanja niza s C.

Prilikom implementacije ovog vodiča radili smo na Ubuntu 20.04 Linux sustavu konfiguriranom na Virtual Boxu. Dok smo radili na Linux sustavu, radili smo većinu naših instalacija i upita na terminalnoj ljusci. Stoga otvorite ljusku terminala prečacem Ctrl+Alt+T ili je pretražite putem trake za pretraživanje aplikacija ispod područja aktivnosti na Ubuntu radnoj površini. Potrebno je prvo ažurirati vaš sustav putem upita za ažuriranje apt. Od vas će se tražiti trenutna korisnička lozinka za pokretanje ažuriranja. Stoga dodajte lozinku i pritisnite tipku Enter.







$ sudo apt ažuriranje



Kako smo programski jezik C koristili za razradu koncepta preokretanja nizova u sustavu Ubuntu 20.04, na njihov Ubuntu sustav trebao bi biti instaliran C kompajler. Stoga svakako instalirajte GCC kompajler na svoj sustav putem donjeg upita.



$ sudo apt install gcc

Primjer 01: Korištenje For Loop

Nakon instalacije i konfiguracije GCC prevoditelja i ažuriranja apt paketa, okreće se stvaranje nove datoteke. Ova datoteka bi trebala biti tipa C; stoga, pomoću naredbe touch stvorite datoteku new.c kao u nastavku. Ova će se datoteka od sada koristiti u našem kodu tijekom implementacije programa obrnutih nizova.





$ dodirnite novo.c

Sada možete otvoriti ovu datoteku za uređivanje ili kodiranje pomoću Nano uređivača koji je ugrađen u vaš Ubuntu 20.04 Linux sustav. Stoga za to pokušajte donje upute u ljusci.



$ nano novo.c

Novonastala datoteka tipa C nova otvorena je u GNU Nano Editoru Ubuntu 20.04 sustava. U njega morate napisati C skriptu, kako je prikazano na slici ispod. Dopustite nam da razradimo ovaj kod radi vašeg boljeg razumijevanja. Na početku koda uključili smo dvije knjižnice. Knjižnica stdio.h korištena je za primanje unosa i prikaz izlaza, a druga knjižnička string.h korištena je za korištenje svih vrsta nizova u našem kodu. Sav posao preokretanja niza obavit će se u metodi main () C koda. Oglasili smo niz znakova tipa string veličine 50. To znači da se niz s više od 50 znakova ne može unositi u ovaj kôd. Nakon toga smo proglasili dvije varijable cjelobrojnog tipa. Varijabla l je korištena za prikupljanje duljine niza str, a varijabla I će se koristiti kao inicijalizator u for petlji. Zatim smo upotrijebili ispis printf za ispis teksta na ljuski Enter string, govoreći korisniku da doda vrijednost varijabli niza. Metoda scanf () korištena je za unos korisnika u vrijeme izvođenja i spremanje te vrijednosti u niz str. Funkcija strlen () korištena je za provjeru duljine niza str koju je dodao korisnik tijekom izvođenja i spremanje u varijablu l ’. Zatim smo inicijalizirali for petlju kako bismo preokrenuli niz str. Možete vidjeti da inicijalizator I 'uzima vrijednost iz varijable l za promjenu smjera niza. Zatim ispisuje znakove niza str ’jedan po jedan preokret. U posljednjem je glavna metoda okončana. Spremite ovu datoteku pomoću Ctrl+S i zatvorite je pomoću Ctrl+X.

Sada je vrijeme za sastavljanje koda i provjeru ima li izlaz. Stoga je kompilacija izvršena dolje navedenim gcc upitom s imenom datoteke new.c.

$ gcc novo.c

Kako kompilacija uspijeva, to znači da nema greške u našem kodu. Izvršimo našu datoteku upitom a.out u ljusci na sljedeći način:

$./do.van

Postupak izvođenja od korisnika će tražiti da doda niz. Dodali smo I-Am-Aqsa-Yasin i pritisnuli Enter. Možete vidjeti da vraća obrnutu stranu niza u sljedećem retku.

Primjer 02: Korištenje zamjene

U ovom primjeru koristit ćemo metodu zamjene da bismo obrnuli redoslijed niza. Stoga otvorite datoteku new.c još jednom pomoću nano uređivača na sljedeći način:

$ nano novo.c

Sada je datoteka otvorena u GNU nano uređivaču; moramo ažurirati datoteku koda s dolje prikazanom skriptom na snimci zaslona. Standardnu ​​ulaznu i izlaznu datoteku zaglavlja smo prvo uključili u naš kôd koristeći ključnu riječ #include. Definirali smo metodu Reverse () prema upotrebi tehnike zamjene. Inicijalizirali smo tri varijable tipa cijeli broj new, I i swap. Prva petlja for koristi se za provjeru je li niz s prazan ili nije. Sljedeća for petlja koristi se za iteraciju, a u njezinu smo tijelu zamijenili vrijednosti pomoću novih i swap varijabli. Vrijedi napomenuti da preokretanje niza duljine n traje samo n/2 kruga. Nakon što su nizovi zamijenjeni, morat ćete se ponovno petljati da biste prikazali obrnuti niz, što radimo u našoj aplikaciji koristeći treću for petlju. Funkcija Reverse () mora se pozvati iz glavnog programa. Naveli ste što vaš softver radi s printf -om unutar konteksta main (). Nakon toga ste koristili scanf () za unos korisnika i pozvali metodu Reverse (). Sada ponovno spremite datoteku pomoću Ctrl+S i napustite nano editor Ctrl+X prečacem i vratite se u terminalnu ljusku.

Prvo sastavite kôd pomoću gcc upita kao što je dolje.

$ gcc novo.c

Sada izvršite datoteku koda koristeći istu ./a.out uputu.

$./do.van

Od vas će se tražiti da unesete vrijednost niza. Dodali smo AqsaYasin i dobili obrnuto.

Primjer 03: Korištenje rekurzije

U ovom primjeru koristit ćemo rekurziju za poništavanje niza koji je dodao korisnik. Stoga ponovno otvorite datoteku.

$ nano novo.c

Ovaj program ispisuje Unesite rečenicu: Zatim se koristi metoda Reverse (). Početno slovo koje je unijeo korisnik sprema se u c ovom metodom. Reverse () se ponovno izvodi ako je argument nešto drugo osim n (novi redak). Ovaj se postupak nastavlja sve dok korisnik ne pritisne tipku Enter. Kad god korisnik pritisne enter, metoda Reverse () ispisuje tekst obrnutim redoslijedom. Spremite i zatvorite datoteku.

Prvo sastavite kôd, a zatim ga pokrenite pomoću prethodnih naredbi na sljedeći način:

$ gcc novo.c

$./do.van

Možete vidjeti da uzima unos od korisnika kao cijele niz rečenice, a zatim obrnut redoslijed te rečenice.

Zaključak:

Konačno, učinili smo tri primjera za razradu preokretanja unosa tipa niza različitim metodama, na primjer, pomoću for petlje, rekurzije i zamjene.