C இல் ஒரு சரத்தை எப்படித் திருப்புவது

How Reverse String C



சரம் குறியீட்டில், சரம் தலைகீழ் ஒரு முக்கியமான தலைப்பு. சரத்தை மாற்றியமைக்க பல வழிகள் உள்ளன, ஒவ்வொன்றும் வெவ்வேறு தர்க்கங்களைக் கொண்டுள்ளன. எந்த முன்னமைக்கப்பட்ட செயல்பாடுகளுடனும் மற்றும் தேவையில்லாமல் பல தனித்துவமான அணுகுமுறைகள் மற்றும் பகுத்தறிவுகளைப் பயன்படுத்த ஒரு சரத்தை எவ்வாறு சரியாக மாற்றுவது என்பதை இந்தக் கட்டுரை உங்களுக்குக் காண்பிக்கும். ஒரு குறிப்பிட்ட தனிப்பட்ட உள்ளீட்டு சரத்தில் ஒரு சரம் நுட்பத்தின் தலைகீழ் பயன்படுத்தப்படும் போதெல்லாம், ஒரு குறிப்பிட்ட வரிசையில் ஒரு நுகர்வோர் வழங்கும் உரை முற்றிலும் தலைகீழாக மாறும். கீழே உள்ள நிகழ்வில், C உடன் ஒரு சரத்தை மாற்றுவதற்கான பல்வேறு மாற்று வழிகள் பயன்படுத்தப்பட்டுள்ளன.

இந்த வழிகாட்டியைச் செயல்படுத்தும்போது, ​​மெய்நிகர் பெட்டியில் உள்ளமைக்கப்பட்ட உபுண்டு 20.04 லினக்ஸ் அமைப்பில் நாங்கள் பணியாற்றி வருகிறோம். லினக்ஸ் சிஸ்டத்தில் வேலை செய்யும் போது, ​​டெர்மினல் ஷெல்லில் எங்கள் பெரும்பாலான நிறுவல்கள் மற்றும் வினவல்களை நாங்கள் செய்வோம். எனவே, Ctrl+Alt+T என்ற குறுக்குவழி மூலம் முனைய ஓட்டைத் திறக்கவும் அல்லது உபுண்டு டெஸ்க்டாப்பின் செயல்பாட்டுப் பகுதியின் கீழ் உள்ள பயன்பாட்டுத் தேடல் பட்டி மூலம் தேடவும். பொருத்தமான புதுப்பிப்பு வினவல் மூலம் முதலில் உங்கள் கணினியைப் புதுப்பிப்பது அவசியம். புதுப்பிப்பை இயக்க தற்போதைய பயனர் கடவுச்சொல்லை இது கேட்கும். எனவே, கடவுச்சொல்லைச் சேர்த்து Enter பொத்தானை அழுத்தவும்.







$ sudo apt அப்டேட்



உபுண்டு 20.04 அமைப்பில் சரங்களை மாற்றியமைக்கும் கருத்தை விரிவாக்க சி நிரலாக்க மொழியை நாங்கள் பயன்படுத்தி வருவதால், ஒருவர் தங்கள் உபுண்டு அமைப்பில் சி கம்பைலரை நிறுவியிருக்க வேண்டும். எனவே கீழே உள்ள வினவல் வழியாக உங்கள் கணினியில் GCC கம்பைலரை நிறுவுவதை உறுதி செய்யவும்.



$ sudo apt gcc ஐ நிறுவவும்

எடுத்துக்காட்டு 01: லூப் பயன்படுத்துதல்

ஜிசிசி கம்பைலரின் நிறுவல் மற்றும் உள்ளமைவு மற்றும் பொருத்தமான தொகுப்பைப் புதுப்பித்த பிறகு, அது ஒரு புதிய கோப்பை உருவாக்க மாறும். இந்தக் கோப்பு சி வகையாக இருக்க வேண்டும்; எனவே, கீழ்கண்டவாறு new.c என்ற கோப்பை உருவாக்க தொடு கட்டளையைப் பயன்படுத்தவும். ரிவர்ஸ் ஸ்ட்ரிங் புரோகிராம்களைச் செயல்படுத்தும்போது இந்தக் கோப்பு இனிமேல் எங்கள் குறியீட்டில் பயன்படுத்தப்படும்.





$ புதிய தொடுதல்.c

உங்கள் உபுண்டு 20.04 லினக்ஸ் சிஸ்டத்தில் உள்ளமைக்கப்பட்ட நானோ எடிட்டரால் எடிட்டிங் அல்லது கோடிங்கிற்காக இப்போது இந்தக் கோப்பைத் திறக்கலாம். எனவே, அவ்வாறு செய்ய உங்கள் ஷெல்லில் கீழே உள்ள வழிமுறைகளை முயற்சிக்கவும்.



$ நானோ புதியது.c

உபுண்டு 20.04 அமைப்பின் GNU நானோ எடிட்டரில் புதிதாக உருவாக்கப்பட்ட C- வகை கோப்பு புதிதாக திறக்கப்பட்டுள்ளது. கீழே உள்ள ஸ்கிரீன்ஷாட் படத்தில் வழங்கப்பட்டுள்ளபடி நீங்கள் அதில் ஒரு சி ஸ்கிரிப்டை எழுத வேண்டும். உங்கள் சிறந்த புரிதலுக்காக இந்தக் குறியீட்டை விரிவாகக் காண்போம். குறியீட்டின் தொடக்கத்தில், நாங்கள் இரண்டு நூலகங்களைச் சேர்த்துள்ளோம். Stdio.h நூலகம் உள்ளீடுகளை எடுத்து வெளியீடுகளைக் காட்டவும், மற்ற நூலகம் string.h எங்கள் குறியீட்டில் உள்ள அனைத்து வகையான சரங்களையும் பயன்படுத்தவும் பயன்படுகிறது. சரத்தை மாற்றியமைக்கும் அனைத்து வேலைகளும் சி குறியீட்டின் முக்கிய () முறையில் செய்யப்படும். 50 அளவு கொண்ட எழுத்து வகை சரம் ஸ்ட்ரை அறிவித்துள்ளோம். இதன் பொருள் 50 க்கும் மேற்பட்ட எழுத்துக்களைக் கொண்ட ஒரு சரம் இந்த குறியீட்டில் பொழுதுபோக்க முடியாது. அதன் பிறகு, நாம் இரண்டு முழு-வகை மாறிகளை அறிவித்துள்ளோம். ஒரு சரம் ஸ்ட்ராவின் நீளத்தை சேகரிப்பதற்கு எல் மாறி பயன்படுத்தப்படுகிறது, மற்றும் மாறி நான் லூப்பிற்கு ஒரு இன்ஜினியலைசராகப் பயன்படுத்தப்படும். ஒரு ஸ்ட்ரிங் மாறிக்கு ஒரு மதிப்பைச் சேர்க்குமாறு பயனருக்குச் சொல்லி, ஷெல் Enter ஸ்ட்ரிங்கில் ஒரு உரையை அச்சிட ஒரு printf அறிக்கையைப் பயன்படுத்தினோம். ஸ்கேன்ஃப் () முறை பயனரை இயக்க நேரத்தில் உள்ளீடு செய்து அந்த மதிப்பை ஒரு ஸ்ட்ரிங் ஸ்ட்ரில் சேமிக்க பயன்படுகிறது. ரன் நேரத்தில் ஒரு பயனரால் சேர்க்கப்பட்ட ஒரு ஸ்ட்ரிங் ஸ்ட்ராவின் நீளத்தை சரிபார்த்து அதை ஒரு மாறி எல் இல் சேமிக்க ஸ்ட்ராலன் () செயல்பாடு பயன்படுத்தப்பட்டுள்ளது. சரம் str ஐத் திருப்புவதற்கு ஒரு ஃபார் லூப்பைத் தொடங்கினோம். இன்ரிஷனலைசர் I 'ஒரு சரத்தின் திசையை மாற்றியமைக்க ஒரு மாறி l இலிருந்து மதிப்பை எடுத்துக்கொள்வதை நீங்கள் காணலாம். பின்னர் அது ஒரு சரம் str இன் எழுத்துக்களை ஒவ்வொன்றாக அச்சிடுகிறது. கடைசியாக, முக்கிய முறை முடிந்தது. Ctrl+S ஐப் பயன்படுத்தி இந்தக் கோப்பைச் சேமித்து Ctrl+X வழியாக வெளியேறவும்.

இப்போது குறியீட்டைத் தொகுத்து அதன் வெளியீட்டைச் சரிபார்க்க வேண்டிய நேரம் வந்துவிட்டது. எனவே, கீழே குறிப்பிடப்பட்டுள்ள ஜிசிசி வினவல் மூலம் புதிய கோப்பின் பெயருடன் தொகுப்பு செய்யப்பட்டது.

$ gcc புதியது.c

தொகுப்பு வெற்றிகரமாக இருப்பதால், எங்கள் குறியீட்டில் பிழை இல்லை என்று அர்த்தம். ஷெல்லில் a.out வினவல் மூலம் எங்கள் கோப்பை பின்வருமாறு இயக்கலாம்:

$./க்குவெளியே

செயல்படுத்தும் செயல்முறை பயனரை ஒரு சரம் சேர்க்கும்படி கேட்கும். நாங்கள் I-Am-Aqsa-Yasin ஐச் சேர்த்து Enter ஐ அழுத்தினோம். பின்வரும் வரியில் ஒரு சரத்தின் தலைகீழ் திரும்புவதை நீங்கள் காணலாம்.

எடுத்துக்காட்டு 02: இடமாற்றத்தைப் பயன்படுத்துதல்

இந்த எடுத்துக்காட்டில், ஒரு சரத்தின் வரிசையை மாற்றியமைக்க நாங்கள் இடமாற்ற முறையைப் பயன்படுத்துவோம். எனவே நானோ எடிட்டரைப் பயன்படுத்தி new.c கோப்பை மீண்டும் பின்வருமாறு திறக்கவும்:

$ நானோ புதியது.c

இப்போது கோப்பு GNU நானோ எடிட்டரில் திறக்கப்பட்டுள்ளது; ஸ்கிரீன்ஷாட்டில் கீழே காட்டப்பட்டுள்ள ஸ்கிரிப்டுடன் குறியீடு கோப்பை நாம் புதுப்பிக்க வேண்டும். #குறியீட்டை உள்ளடக்கிய ஒரு முக்கிய வார்த்தையைப் பயன்படுத்தி முதலில் எங்கள் குறியீட்டில் நிலையான உள்ளீடு மற்றும் வெளியீட்டு தலைப்பு கோப்பைச் சேர்த்துள்ளோம். பரிமாற்ற நுட்பத்தின் பயன்பாட்டிற்கு ஏற்ப தலைகீழ் () முறையை நாங்கள் வரையறுத்துள்ளோம். புதிய, I மற்றும் இடமாற்று ஆகிய மூன்று முழு வகை மாறிகளை நாங்கள் துவக்கியுள்ளோம். சரம் கள் காலியாக இருக்கிறதா இல்லையா என்பதைச் சரிபார்க்க முதல் வளையம் பயன்படுத்தப்படுகிறது. சுழற்சிக்கான அடுத்தது மறு செய்கைக்குப் பயன்படுத்தப்படுகிறது, அதன் உடலில், புதிய மற்றும் இடமாற்று மாறிகளைப் பயன்படுத்தி மதிப்புகளை மாற்றியுள்ளோம். ஒரு n- நீள சரத்தை மாற்றுவது n/2 சுற்றுகளை எடுக்கும் என்பது குறிப்பிடத்தக்கது. சரங்கள் மாற்றப்பட்டவுடன், தலைகீழ் சரம் காட்ட நீங்கள் மீண்டும் லூப் செய்ய வேண்டும், அதை எங்கள் பயன்பாட்டிற்குள் மூன்றில் ஒரு பகுதியை பயன்படுத்தி செய்கிறோம். தலைகீழ் () செயல்பாட்டை உள்ளே உள்ள முக்கிய நிரலிலிருந்து அழைக்க வேண்டும். மெயின் () பின்னணியில் உங்கள் மென்பொருள் printf உடன் செயல்படுவதை நீங்கள் கூறியுள்ளீர்கள். அதன் பிறகு, பயனர் உள்ளீட்டைப் பெற நீங்கள் ஸ்கேன்ஃப் () ஐப் பயன்படுத்தினீர்கள் மற்றும் தலைகீழ் () முறையைப் பயன்படுத்தினீர்கள். இப்போது Ctrl+S ஐ பயன்படுத்தி கோப்பை மீண்டும் சேமித்து Ctrl+X குறுக்குவழியில் நானோ எடிட்டரை விட்டுவிட்டு முனைய ஷெல்லுக்கு திரும்பவும்.

கீழ்கண்டவாறு முதலில் ஒரு gcc வினவல் மூலம் குறியீட்டை தொகுக்கவும்.

$ gcc புதியது.c

இப்போது அதே ./a.out அறிவுறுத்தலின் கோப்பு கோப்பை இயக்கவும்.

$./க்குவெளியே

இது சரம் மதிப்பை உள்ளிடும்படி கேட்கும். நாங்கள் அக்ஸயாசின் சேர்த்தோம் மற்றும் அதன் தலைகீழ் கிடைத்தது.

எடுத்துக்காட்டு 03: மறுபயன்பாட்டைப் பயன்படுத்துதல்

இந்த எடுத்துக்காட்டில், ஒரு பயனரால் சேர்க்கப்பட்ட சரத்தை மாற்றியமைக்க நாங்கள் மறுபயன்பாட்டைப் பயன்படுத்துவோம். எனவே கோப்பை மீண்டும் திறக்கவும்.

$ நானோ புதியது.c

இந்த நிரல் அச்சிடுகிறது ஒரு வாக்கியத்தை உள்ளிடவும்: ஒரு தலைகீழ் () முறை பின்னர் பயன்படுத்தப்படுகிறது. ஒரு பயனரால் உள்ளிடப்பட்ட ஆரம்ப கடிதம் இந்த முறையில் c இல் சேமிக்கப்படுகிறது. வாதம் n (புதிய வரி) தவிர வேறு ஏதாவது இருந்தால் தலைகீழ் () மீண்டும் செயல்படுத்தப்படும். பயனர் Enter விசையை அழுத்தும் வரை இந்த செயல்முறை தொடர்கிறது. பயனர் அழுத்தும்போதெல்லாம், தலைகீழ் () முறை உரையை தலைகீழ் வரிசையில் அச்சிடுகிறது. கோப்பை சேமித்து மூடவும்.

முதலில் குறியீட்டைத் தொகுத்து, பின் முந்தைய கட்டளைகளைப் பயன்படுத்தி பின்வருமாறு இயக்கவும்:

$ gcc புதியது.c

$./க்குவெளியே

ஒரு முழு சரம் வாக்கியமாக அது ஒரு பயனரிடமிருந்து உள்ளீட்டை எடுத்து பின்னர் அந்த வாக்கியத்தின் வரிசையை மாற்றியமைப்பதை நீங்கள் பார்க்கலாம்.

முடிவுரை:

இறுதியாக, பல்வேறு முறைகளுடன் ஒரு சரம் வகை உள்ளீட்டை மாற்றியமைப்பது பற்றி விரிவாக விவரிக்க நாங்கள் மூன்று எடுத்துக்காட்டுகளைச் செய்துள்ளோம்.