Как да обърнем низ в C

How Reverse String C



При кодирането на низове обръщането на низове е ключова тема. Има и няколко метода за обръщане на низ, всеки от които има различна логика. Тази статия ще ви покаже как правилно да обърнете низ, за ​​да използвате няколко различни подхода и разсъждения със и без да изисквате предварително зададени функции. Всеки път, когато обръщането на низова техника се прилага в конкретен уникален входен низ, текстът, който потребителят би предоставил в определен ред, ще бъде напълно обърнат. В примера по -долу са използвани различни алтернативи за обръщане на низ с C.

При прилагането на това ръководство работихме върху Ubuntu 20.04 Linux система, конфигурирана на Virtual Box. Докато работехме на Linux система, използвахме повечето от нашите инсталации и заявки в терминалната обвивка. Следователно, отворете обвивката на терминала чрез пряк път Ctrl+Alt+T или я потърсете през лентата за търсене на приложение в областта на активността на работния плот на Ubuntu. Необходимо е първо да актуализирате вашата система чрез apt update заявката. Той ще ви помоли за текущата потребителска парола за стартиране на актуализацията. Затова добавете парола и натиснете бутона Enter.







$ sudo apt актуализация



Тъй като използвахме езика за програмиране C за разработване на концепцията за обръщане на низове в системата Ubuntu 20.04, човек трябва да има инсталиран C компилатор на тяхната система Ubuntu. Затова не забравяйте да инсталирате GCC компилатора във вашата система чрез заявката по -долу.



$ sudo apt install gcc

Пример 01: Използване на For Loop

След инсталирането и конфигурирането на GCC компилатора и актуализирането на apt пакета, той се обръща към създаване на нов файл. Този файл трябва да бъде от тип C; затова използвайте командата touch, за да създадете файл new.c, както е показано по -долу. Този файл ще се използва в нашия код отсега нататък по време на изпълнението на програми за обратен низ.





$ докоснете ново.° С

Сега можете да отворите този файл за редактиране или кодиране от Nano редактор, който е вграден във вашата система Ubuntu 20.04 Linux. Затова опитайте инструкциите по -долу във вашата черупка, за да направите това.



$ nano нов.° С

Новосъздаденият файл от тип C нов е отворен в GNU Nano Editor на системата Ubuntu 20.04. Трябва да напишете C скрипт в него, както е представено на снимката на екрана по -долу. Нека разгледаме по -подробно този код за по -добро разбиране. В началото на код сме включили две библиотеки. Библиотеката stdio.h е използвана за приемане на входове и показване на изходите, а другата библиотека string.h е използвана за използване на всякакви низове в нашия код. Цялата работа по обръщане на низ ще бъде извършена в метода main () на C код. Ние сме декларирали низ от символен тип str с размер 50. Това означава, че низ с повече от 50 знака не може да се забавлява в този код. След това декларирахме две целочислени променливи. Променливата l е използвана за събиране на дължината на низа str и променливата I ще се използва като инициализатор в for цикъл. След това използвахме оператор printf, за да отпечатаме текст върху въведения низ на обвивката, като казваме на потребителя да добави стойност към променлива от низ. Методът scanf () е използван за въвеждане на потребителя по време на изпълнение и запазване на тази стойност в низ от str. Функцията strlen () е използвана за проверка на дължината на низ от низове, добавена от потребител по време на изпълнение, и запазването й в променлива l ’. След това инициализирахме цикъл for, за да обърнем низа str. Можете да видите, че инициализаторът I 'взема стойността от променлива l, за да обърне посоката на низ. След това той отпечатва символите на низ str 'едно по едно обръщане. В последната основният метод е прекратен. Запазете този файл с помощта на Ctrl+S и го затворете чрез Ctrl+X.

Сега е време да компилирате кода и да проверите за изхода му. Следователно компилацията е извършена чрез посочената по-долу gcc заявка с името на файл new.c.

$ gcc нов.° С

Тъй като компилацията става успешна, това означава, че няма грешка в нашия код. Нека изпълним нашия файл чрез a.out заявка в черупката, както следва:

$./да се.навън

Процесът на изпълнение ще поиска от потребителя да добави низ. Добавихме I-Am-Aqsa-Yasin и натиснахме Enter. Можете да видите, че връща обратната страна на низ на следния ред.

Пример 02: Използване на замяна

В този пример ще използваме метода на замяна, за да обърнем реда на низ. Следователно отворете файла new.c отново с помощта на nano редактора, както следва:

$ nano нов.° С

Сега файлът е отворен в GNU nano редактора; трябва да актуализираме кодовия файл с показания по-долу скрипт на екранната снимка. Ние първо включихме стандартния входен и изходен заглавен файл в нашия код, използвайки ключова дума #include. Дефинирахме метод Reverse () според използването на техниката за замяна. Инициализирахме три променливи тип integer new, I и swap. Първият цикъл for се използва за проверка дали низът s е празен или не. Следващият цикъл for се използва за итерация, а в неговото тяло сме разменили стойностите, използвайки нови и swap променливи. Заслужава да се отбележи, че обръщането на низ с дължина n отнема само n/2 кръга. След като низовете са разменени, ще трябва да повторите цикъла, за да покажете обърнатия низ, което правим в нашето приложение, използвайки трети цикъл for. Функцията Reverse () трябва да бъде извикана от вътрешната основна програма. Посочихте какво изпълнява вашият софтуер с printf в контекста на main (). След това използвахте scanf (), за да получите потребителско въвеждане и извикате метода Reverse (). Сега запишете файла отново с помощта на Ctrl+S и напуснете редактора на nano чрез клавишната комбинация Ctrl+X и се върнете към терминалната обвивка.

Компилирайте кода първо чрез gcc заявка, както е показано по -долу.

$ gcc нов.° С

Сега изпълнете кодовия файл, използвайки същата инструкция ./a.out.

$./да се.навън

Той ще ви помоли да въведете стойността на низа. Добавихме AqsaYasin и получихме обратната страна.

Пример 03: Използване на рекурсия

В този пример ще използваме рекурсия, за да обърнем низ, добавен от потребител. Затова отворете файла отново.

$ nano нов.° С

Тази програма отпечатва Въведете изречение: След това се използва метод Reverse (). Първоначалната буква, въведена от потребител, се записва в c чрез този метод. Reverse () се изпълнява отново, ако аргументът е нещо различно от n (нов ред). Тази процедура продължава, докато потребителят не натисне клавиша Enter. Всеки път, когато потребителят натисне enter, методът Reverse () отпечатва текста в обратен ред. Запишете и затворете файла.

Първо компилирайте кода и след това го изпълнете, като използвате предишните команди, както следва:

$ gcc нов.° С

$./да се.навън

Можете да видите, че приема въвеждане от потребител като цяло изречение от низ и след това обърнете реда на това изречение.

Заключение:

И накрая, направихме три примера за разработване на обръщане на въвеждане на низ от различни методи, например използване на цикъл for, използване на рекурсия и използване на swap.