سی میں سٹرنگ کو کیسے الٹنا ہے۔

How Reverse String C



سٹرنگ کوڈنگ میں ، سٹرنگ الٹنا ایک اہم موضوع ہے۔ سٹرنگ کو پلٹنے کے کئی طریقے بھی ہیں ، جن میں سے ہر ایک کی ایک الگ منطق ہے۔ یہ آرٹیکل آپ کو دکھائے گا کہ کس طرح ایک سٹرنگ کو صحیح طریقے سے ریورس کرنا ہے تاکہ کئی الگ الگ نقطہ نظر اور استدلال کو بغیر کسی پیش سیٹ افعال کی ضرورت کے استعمال کیا جا سکے۔ جب بھی کسی خاص ان پٹ سٹرنگ میں سٹرنگ کی تکنیک کا الٹ پلٹ کیا جاتا ہے ، وہ متن جو صارف ایک مخصوص ترتیب میں فراہم کرے گا وہ مکمل طور پر الٹ ہو جائے گا۔ ذیل میں مثال کے طور پر ، سی کے ساتھ تار کو الٹنے کے مختلف متبادل استعمال کیے گئے ہیں۔

اس گائیڈ کو نافذ کرتے وقت ، ہم ورچوئل باکس پر تشکیل شدہ اوبنٹو 20.04 لینکس سسٹم پر کام کر رہے ہیں۔ لینکس سسٹم پر کام کرتے ہوئے ، ہم ٹرمینل شیل پر اپنی بیشتر تنصیبات اور سوالات کرتے تھے۔ لہذا ، ٹرمینل شیل کو شارٹ کٹ Ctrl+Alt+T سے کھولیں یا اسے اوبنٹو ڈیسک ٹاپ کے ایکٹیویٹی ایریا کے تحت ایپلیکیشن سرچ بار کے ذریعے تلاش کریں۔ اپٹ اپ ڈیٹ کے استفسار کے ذریعے پہلے اپنے سسٹم کو اپ ڈیٹ کرنا ضروری ہے۔ یہ اپ ڈیٹ چلانے کے لیے آپ سے موجودہ صارف کا پاس ورڈ مانگے گا۔ لہذا ، ایک پاس ورڈ شامل کریں اور انٹر بٹن دبائیں۔







$ sudo apt اپ ڈیٹ۔



جیسا کہ ہم اوبنٹو 20.04 سسٹم میں تاریں پلٹنے کے تصور کی وضاحت کے لیے سی پروگرامنگ لینگویج کا استعمال کر رہے ہیں ، ان کے اوبنٹو سسٹم میں سی کمپائلر انسٹال ہونا چاہیے۔ لہذا ذیل کے استفسار کے ذریعے اپنے سسٹم پر جی سی سی کمپائلر انسٹال کرنا یقینی بنائیں۔



$ sudo apt gcc انسٹال کریں۔

مثال 01: لوپ کے لیے استعمال کرنا۔

جی سی سی کمپائلر کی انسٹالیشن اور کنفیگریشن اور اپٹ پیکیج کو اپ ڈیٹ کرنے کے بعد ، یہ ایک نئی فائل بنانے میں بدل جاتا ہے۔ یہ فائل C قسم کی ہونی چاہیے۔ لہذا ، ذیل میں فائل new.c بنانے کے لیے ٹچ کمانڈ استعمال کریں۔ ریورس سٹرنگ پروگراموں کے نفاذ کے دوران یہ فائل اب سے ہمارے کوڈ میں استعمال ہوگی۔





$ touch new.ج

اب آپ اس فائل کو نینو ایڈیٹر کے ذریعے ترمیم یا کوڈنگ کے لیے کھول سکتے ہیں جو آپ کے اوبنٹو 20.04 لینکس سسٹم میں بلٹ ان ہے۔ لہذا ، ایسا کرنے کے لئے اپنے شیل میں نیچے دی گئی ہدایات کو آزمائیں۔



$ نینو نیا۔ج

اوبنٹو 20.04 سسٹم کے جی این یو نینو ایڈیٹر میں نئی ​​بنائی گئی سی ٹائپ فائل نئی کھولی گئی ہے۔ آپ کو اس میں سی اسکرپٹ لکھنا ہے ، جیسا کہ نیچے اسکرین شاٹ تصویر میں پیش کیا گیا ہے۔ آئیے ہم آپ کی بہتر تفہیم کے لیے اس کوڈ کی تفصیل بتائیں۔ ایک کوڈ کے آغاز میں ، ہم نے دو لائبریریاں شامل کی ہیں۔ لائبریری stdio.h کو ان پٹ لینے اور آؤٹ پٹ دکھانے کے لیے استعمال کیا گیا ہے ، اور دوسری لائبریری string.h ہمارے کوڈ میں ہر طرح کے ڈور استعمال کرنے کے لیے استعمال کی گئی ہے۔ سٹرنگ کو پلٹنے کا تمام کام سی کوڈ کے مین () طریقے سے کیا جائے گا۔ ہم نے ایک کریکٹر ٹائپ سٹرنگ کا اعلان کیا ہے جس کا سائز 50 ہے۔ اس کے بعد ، ہم نے دو عددی قسم کے متغیرات کا اعلان کیا ہے۔ متغیر l کو سٹرنگ کی لمبائی جمع کرنے کے لیے استعمال کیا گیا ہے اور ، متغیر I کو لوپ کے لیے بطور ابتدائی استعمال کیا جائے گا۔ پھر ہم نے شیل انٹر سٹرنگ پر ایک ٹیکسٹ پرنٹ کرنے کے لیے ایک printf اسٹیٹمنٹ استعمال کیا ہے ، ایک صارف کو کہا ہے کہ وہ ایک سٹرنگ متغیر میں ویلیو شامل کرے۔ scanf () طریقہ استعمال کیا گیا ہے تاکہ صارف کو رن ٹائم پر داخل کیا جا سکے اور اس قدر کو سٹرنگ میں محفوظ کیا جا سکے۔ فنکشن strlen () اسٹرنگ کی لمبائی کو چیک کرنے کے لیے استعمال کیا گیا ہے جسے صارف نے رن ٹائم پر شامل کیا ہے اور اسے ایک متغیر ایل میں محفوظ کیا ہے۔ پھر ہم نے سٹرنگ کو ریورس کرنے کے لیے لوپ کا آغاز کیا۔ آپ دیکھ سکتے ہیں کہ ابتدا کرنے والا I 'ایک متغیر سے قدر لے رہا ہے ایک تار کی سمت کو ریورس کرنے کے لیے۔ پھر یہ سٹرنگ کے حروف کو ایک ایک کرکے الٹتا ہے۔ آخری میں ، اہم طریقہ ختم ہو گیا ہے۔ Ctrl+S کا استعمال کرتے ہوئے اس فائل کو محفوظ کریں اور اسے Ctrl+X کے ذریعے چھوڑ دیں۔

اب وقت آگیا ہے کہ کوڈ کو مرتب کریں اور اس کی پیداوار کو چیک کریں۔ لہذا ، تالیف ذیل میں بیان کردہ جی سی سی استفسار کے ذریعہ کی گئی ہے جس کا نام ایک فائل new.c ہے۔

$ gcc نیا۔ج

جیسا کہ تالیف کامیاب ہو جاتی ہے ، اس کا مطلب ہے کہ ہمارے کوڈ میں کوئی خرابی نہیں ہے۔ آئیے اپنی فائل کو شیل میں a.out استفسار کے ذریعے درج ذیل کے مطابق چلائیں:

$./کو.باہر

عملدرآمد کا عمل صارف سے ایک تار شامل کرنے کو کہے گا۔ ہم نے I-Am-Aqsa-Yasin شامل کیا ہے اور Enter دبائی ہے۔ آپ دیکھ سکتے ہیں کہ یہ مندرجہ ذیل لائن پر سٹرنگ کا الٹا لوٹتا ہے۔

مثال 02: تبادلہ کا استعمال۔

اس مثال میں ، ہم سٹرنگ کے آرڈر کو ریورس کرنے کے لیے سویپنگ کا طریقہ استعمال کریں گے۔ اس لیے نانو ایڈیٹر کا استعمال کرتے ہوئے فائل کو ایک بار پھر کھولیں:

$ نینو نیا۔ج

اب فائل جی این یو نینو ایڈیٹر میں کھولی گئی ہے۔ ہمیں اسکرین شاٹ میں نیچے دکھائے گئے اسکرپٹ کے ساتھ کوڈ فائل کو اپ ڈیٹ کرنے کی ضرورت ہے۔ ہم نے اپنے کوڈ میں معیاری ان پٹ اور آؤٹ پٹ ہیڈر فائل کو پہلے ایک کلیدی لفظ #include کا استعمال کرتے ہوئے شامل کیا ہے۔ ہم نے تبادلہ کرنے کی تکنیک کے استعمال کے مطابق ایک طریقہ ریورس () کی وضاحت کی ہے۔ ہم نے تین انٹیجر ٹائپ متغیرات کو نیا ، I اور سویپ شروع کیا ہے۔ سب سے پہلے لوپ کو چیک کرنے کے لیے استعمال کیا جاتا ہے کہ سٹرنگ خالی ہے یا نہیں۔ لوپ کے لئے اگلا تکرار کے لئے استعمال کیا جاتا ہے ، اور اس کے جسم میں ، ہم نے نئے اور تبادلہ متغیرات کا استعمال کرتے ہوئے اقدار کو تبدیل کیا ہے۔ یہ بات قابل غور ہے کہ این لمبائی کے تار کو پلٹنے میں صرف n/2 راؤنڈ لگتے ہیں۔ ایک بار جب تار تبدیل ہو جاتے ہیں ، آپ کو الٹا تار دکھانے کے لیے دوبارہ لوپ کرنا پڑے گا ، جو کہ ہم اپنی درخواست کے اندر تیسرے لوپ کا استعمال کرتے ہوئے کرتے ہیں۔ فنکشن ریورس () کو اندرونی مین پروگرام سے بلایا جانا چاہیے۔ آپ نے بتایا ہے کہ آپ کا سافٹ ویئر پرنٹ ایف کے ساتھ مین () کے تناظر میں کیا کرتا ہے۔ اس کے بعد ، آپ نے صارف کا ان پٹ حاصل کرنے کے لیے scanf () استعمال کیا اور ریورس () طریقہ استعمال کیا۔ اب Ctrl+S کا استعمال کرتے ہوئے فائل کو دوبارہ محفوظ کریں اور نینو ایڈیٹر کو Ctrl+X شارٹ کٹ سے چھوڑیں اور ٹرمینل شیل پر واپس جائیں۔

ذیل میں ایک جی سی سی استفسار کے ذریعے پہلے کوڈ مرتب کریں۔

$ gcc نیا۔ج

اب ایک ہی ./a.out ہدایات کو استعمال کرتے ہوئے کوڈ فائل پر عمل کریں۔

$./کو.باہر

یہ آپ سے سٹرنگ ویلیو درج کرنے کو کہے گا۔ ہم نے اقصیٰ یاسین کو شامل کیا ہے اور اس کا الٹ پایا ہے۔

مثال 03: تکرار کا استعمال۔

اس مثال میں ، ہم تکرار کا استعمال کرتے ہوئے استعمال کنندہ کی طرف سے شامل کردہ تار کو ریورس کریں گے۔ اس لیے فائل کو دوبارہ کھولیں۔

$ نینو نیا۔ج

یہ پروگرام ایک جملہ درج کرتا ہے: ایک ریورس () طریقہ استعمال کیا جاتا ہے۔ ایک صارف کی طرف سے داخل کردہ ابتدائی خط اس طریقہ کے ذریعے c میں محفوظ کیا جاتا ہے۔ ریورس () کو دوبارہ عمل میں لایا جاتا ہے اگر دلیل n (نیو لائن) کے علاوہ کچھ اور ہے۔ یہ عمل اس وقت تک جاری رہتا ہے جب تک کہ صارف انٹر بٹن دبائے۔ جب بھی صارف انٹر دباتا ہے ، ریورس () طریقہ متن کو ریورس آرڈر پرنٹ کرتا ہے۔ فائل کو محفوظ کریں اور بند کریں۔

پہلے کوڈ مرتب کریں اور پھر پچھلے کمانڈز کو استعمال کرتے ہوئے اسے چلائیں:

$ gcc نیا۔ج

$./کو.باہر

آپ دیکھ سکتے ہیں کہ یہ ایک صارف سے پورے سٹرنگ جملے کے طور پر ان پٹ لیتا ہے اور پھر اس جملے کی ترتیب کو الٹ دیتا ہے۔

نتیجہ:

آخر میں ، ہم نے سٹرنگ ٹائپ ان پٹ کو مختلف طریقوں سے تبدیل کرنے کے لیے تین مثالیں دی ہیں ، مثلا l لوپ کے لیے استعمال ، تکرار کا استعمال ، اور تبادلہ کا استعمال۔