پروگرامنگ - آر پروگرامنگ زبان کے ابتدائی رہنما



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

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

اس بلاگ میں ، ہم مندرجہ ذیل ترتیب میں آر پروگرامنگ کے مندرجہ ذیل بنیادی تصورات کو سمجھیں گے:





  1. متغیرات
  2. ڈیٹا کی اقسام
  3. ڈیٹا آپریٹرز
  4. مشروط بیان
  5. لوپس
  6. افعال

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

ابتدائیوں کے لئے پروگرامنگ | پروگرامنگ زبان ٹیوٹوریل | ایڈوریکا



تو آئیے آگے بڑھیں اور آر پروگرامنگ - متغیرات کے پہلے تصور کو دیکھیں۔

پروگرامنگ: متغیرات

متغیرات کسی قیمت کے حامل میموری والے مقام کے نام کے سوا کچھ نہیں ہوتے ہیں۔ R میں ایک متغیر عددی اقدار ، پیچیدہ اقدار ، الفاظ ، میٹرکس اور یہاں تک کہ ایک ٹیبل بھی رکھ سکتا ہے۔ حیرت ہے نا؟

متغیر - آر پروگرامنگ - ایڈیورکا

انجیر: تخلیقمتغیر کی



مذکورہ بالا شبیہہ ہمیں دکھاتی ہے کہ متغیرات کیسے بنائے جاتے ہیں اور وہ کس طرح مختلف میموری بلاکس میں محفوظ ہیں۔ R میں ، ہمیں پروگرامنگ کی دوسری زبانوں جیسے جاوا ، C ، C ++ وغیرہ کے برعکس ، کسی متغیر کے استعمال سے پہلے اس کا استعمال کرنے کی ضرورت نہیں ہے۔

آئیے ہم آگے بڑھیں اور یہ سمجھنے کی کوشش کریں کہ ڈیٹا کی قسم کیا ہے اور آر میں مختلف اعداد و شمار کی کس قسم کی تائید کی گئی ہے۔

پروگرامنگ: ڈیٹا کی اقسام

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

ڈیٹا کی اقسام یہ بتاتی ہیں کہ کسی متغیر کی کس قسم کی قدر ہوتی ہے اور اس میں غلطی کا سبب بننے کے بغیر کس طرح کی ریاضیاتی ، رشتہ دار یا منطقی کارروائیوں کا اطلاق کیا جاسکتا ہے۔ آر میں بہت سے اعداد و شمار کی اقسام ہیں ، تاہم ذیل میں سب سے زیادہ استعمال ہونے والے یہ ہیں:

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

ویکٹر

ویکٹر سب سے بنیادی R ڈیٹا اشیاء ہیں اور یہاں چھ قسم کے جوہری ویکٹر ہوتے ہیں۔ ذیل میں چھ ایٹم ویکٹر ہیں۔

منطقی : یہ منطقی قیمت جیسے اسٹور کرنے کے لئے استعمال ہوتا ہے سچ یا غلط .

عددی : یہ مثبت اور منفی دونوں نمبروں کو ذخیرہ کرنے کے لئے استعمال ہوتا ہے بشمول حقیقی تعداد۔

جیسے: 25 ، 7.1145 ، 96547

عدد : اس میں تمام عددی اقدار یعنی تمام مثبت اور منفی پوری تعداد ہوتی ہے۔

مثال کے طور پر: 45.479 ، -856.479 ، 0

کمپلیکس : یہ شکل x + yi کی ہیں ، جہاں x اور y عددی ہیں اور میں -1 کے مربع جڑ کی نمائندگی کرتا ہوں۔

جیسے: 4 + 3i

کریکٹر : یہ یا تو ایک ہی حرف ، حرفوں کا ایک گروپ (الفاظ) یا الفاظ کا ایک گروپ ایک ساتھ جمع کرنے کے لئے استعمال ہوتا ہے۔ حروف کی وضاحت کسی ایک حوالہ یا ڈبل ​​قیمت میں ہوسکتی ہے۔

مثال کے طور پر: 'ایڈوریکا' ، 'آر سیکھنے میں تفریح ​​ہے'۔

عام طور پر ، ایک ویکٹر کو مندرجہ ذیل طریقے سے تعریف اور ابتدا کی جاتی ہے۔

Vtr = c (2 ، 5 ، 11 ، 24) یا Vtr<- c(2, 5, 11 , 24)

آئیے آگے بڑھیں اور R میں ڈیٹا کی دیگر اقسام کو سمجھیں۔

فہرست

فہرستیں ویکٹر سے بالکل ملتی جلتی ہیں ، لیکن فہرستیں وہ آر اشیاء ہیں جن میں مختلف اقسام کے عناصر شامل ہوسکتے ہیں جیسے & مائنس نمبر ، ڈور ، ویکٹر اور اس کے اندر ایک اور فہرست۔

جیسے:

Vtr<- c('Hello', 'Hi','How are you doing') mylist <- list(Vtr, 22.5, 14965, TRUE) mylist 

آؤٹ پٹ:

[[1]] [1] 'ہیلو' 'ہائے' 'کیسے کیا آپ '[[2]] [1] 22.5 [[3]] [1] 14965 کر رہے ہیں [[4]] [1] سچ

میٹرکس

میٹرکس وہ آر شئے ہے جس میں عناصر کو دو جہتی مستطیل ترتیب میں ترتیب دیا گیا ہے۔

R میں میٹرکس بنانے کے لئے بنیادی نحو ہے اور منفی ہے

 میٹرکس (ڈیٹا ، نورو ، اینکول ، بائرو ، ڈائم نام) 

کہاں:

  • ڈیٹا ان پٹ ویکٹر ہے جو میٹرکس کے ڈیٹا عناصر بن جاتا ہے۔
  • nrow قطار بنانے کی تعداد ہے۔
  • ncol کالم بنانے کی تعداد ہے۔
  • بائیو ایک منطقی اشارہ ہے۔ اگر سچ ہے تو ، پھر ان پٹ ویکٹر عناصر قطار کے ذریعہ ترتیب دیئے گئے ہیں۔
  • چمکنا قطار اور کالموں کے نام تفویض کردہ نام ہے۔

مثال:

میامیٹرکس<- matrix(c(1:25), nrow = 5, ncol = 5, byrow = TRUE) Mymatrix 

آؤٹ پٹ:

[، 1] [، 2] [، 3] [، 4] [، 5] [1،] 1 2 3 4 5 [2،] 6 7 8 9 10 [3،] 11 12 13 14 15 [4، ] 16 17 18 19 20 [5 ،] 21 22 23 24 25

پہنچیں

آر میں آرے اعداد و شمار کی اشیاء ہیں جن کو دو جہتوں سے زیادہ میں ڈیٹا اسٹور کرنے کے لئے استعمال کیا جاسکتا ہے۔ یہ ویکٹر کو ان پٹ کے طور پر لیتا ہے اور میں اقدار کو استعمال کرتا ہے نہیں ایک صف بنانے کے لئے پیرامیٹر۔

آر میں ایک صف تیار کرنے کے لئے بنیادی نحو ہے اور منفی ہے

 سرنی (ڈیٹا ، مدھم ، نام) 

کہاں:

  • ڈیٹا ان پٹ ویکٹر ہے جو سرنی کے ڈیٹا عناصر بن جاتا ہے۔
  • نہیں صف کا طول و عرض ہے ، جہاں آپ قطار ، کالم اور میٹرک کی تعداد کو مذکور طول و عرض کے ذریعہ تخلیق کرتے ہیں۔
  • چمکنا قطار اور کالموں کے نام تفویض کردہ نام ہے۔

مثال:

مایارے<- array( c(1:16), dim=(4,4,2)) Myarray 

آؤٹ پٹ:

، ، ایک [، 1] [، 2] [، 3] [، 4] [1 ،] 1 5 9 13 [2 ،] 2 6 10 14 [3 ،] 3 7 11 15 [4 ،] 4 8 12 16 ، ، 2 [، 1] [، 2] [، 3] [، 4] [1 ،] 1 5 9 13 [2 ،] 2 6 10 14 [3 ،] 3 7 11 15 [4 ،] 4 8 12 16

ڈیٹا فریم

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

  • کالم کے نام خالی نہیں ہونے چاہئیں۔
  • ہر کالم میں ڈیٹا آئٹم کی ایک ہی مقدار ہونی چاہئے۔
  • ڈیٹا فریم میں ذخیرہ شدہ ڈیٹا عددی ، عنصر یا کردار کی نوعیت کا ہوسکتا ہے۔
  • قطار کے نام الگ الگ ہونے چاہ.۔

مثال:

ایمپ_ آئڈ = سی (100: 104) ایم پی این ایم = سی ('جان' ، 'ہنری' ، 'ایڈم' ، 'رون' ، 'گیری') ڈی پیٹ = سی ('سیلز' ، 'فنانس' ، 'مارکیٹنگ' ، 'ایچ آر '،' R & D ') emp.data<- data.frame(emp_id, emp_name, dept) emp.data 

آؤٹ پٹ:

ایم پی_امپ__نظیر 1 100 جان سیلز 2 101 ہنری فنانس 3 102 ایڈم مارکیٹنگ 4 103 رون ایچ آر 5 104 گیری آر اینڈ ڈی

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

پروگرامنگ: ڈیٹا آپریٹرز

R میں بنیادی طور پر 4 ڈیٹا آپریٹرز ہیں ، وہ ذیل میں دکھائے جاتے ہیں:

ریاضی کے آپریٹرز : یہ آپریٹرز بنیادی حسابی کارروائیوں کو انجام دینے میں ہماری مدد کرتے ہیں جیسے اضافہ ، گھٹائو ، ضرب وغیرہ۔

مندرجہ ذیل مثال پر غور کریں:

num1 = 15 num2 = 20 num3 = 0 # ایڈیشن num3 = num1 + num2 num3 # سبسٹریکشن نمبر 3 = num1 - num2 num3 # فرق ضعیف num3 = num1 * num2 num3 # تقسیم نمبر 3 = num1 / num2 num3 # ماڈیولس num3 = num1 ٪٪ num2 num3 # اجزاء نمبر 1 = 5 نمبر 2 = 3 نمبر 3 = نمبر 1 ^ نمبر 2 نمبر 3 # منزل منزل نمبر 3 = num1٪ /٪ num2 num3

آؤٹ پٹ:

[1] 35 [پندرہ [1] 300 [1] 0.75 [1] 15 [1] 125 [گیارہ

متعلقہ آپریٹرز : یہ آپریٹرز متعلقہ کاروائیاں انجام دینے میں ہماری مدد کرتے ہیں جیسے جانچ پڑتال کرتے ہیں کہ آیا کوئی متغیر کسی دوسرے متغیر سے زیادہ ، اس سے کم یا اس کے برابر ہے۔ ایک رشتہ دار آپریشن کی پیداوار ہمیشہ ایک منطقی قدر ہوتی ہے۔

مندرجہ ذیل مثالوں پر غور کریں:

num1 = 15 num2 = 20 # to num3 = (num1 == num2) num3 # num3 = (num1! = num2) کے برابر نہیں num3 # numser = (num1 num2) num3 # کے برابر num1 = 5 num2 کے برابر = 20 نمبر 3 (num1 = num2) نمبر 3

آؤٹ پٹ:

[1] غلط [1] سچ [1] سچ [1] غلط [1] سچ [1] غلط

تفویض آپریٹرز: یہ آپریٹرز R میں متغیر کو اقدار تفویض کرنے کے لئے استعمال کیے جاتے ہیں۔ اسائنمنٹ اسائنمنٹ آپریٹر کو یا تو استعمال کرکے انجام دیا جاسکتا ہے(<-) یا برابر آپریٹر (=)۔ متغیر کی ویلیو دو طریقوں ، بائیں تفویض اور دائیں تفویض کے لئے تفویض کی جاسکتی ہے۔

منطقیآپریٹرز: یہ آپریٹرز دونوں اداروں کا موازنہ کرتے ہیں اور عام طور پر بولین (منطقی) اقدار جیسے 'اور' ، '' یا '' کے ساتھ استعمال ہوتے ہیںاور‘نہیں’۔

جاوا میں تقسیم کا طریقہ استعمال کرنے کا طریقہ


پروگرامنگ: مشروط بیانات

  1. اگر بیان: اگر بیان بہاؤ کے حصے کے طور پر کسی ایک اظہار کی تشخیص میں مدد کرتا ہے۔ اس تشخیص کو انجام دینے کے ل you ، آپ کو بس مطلوبہ الفاظ لکھنے کی ضرورت ہوگی جس کے بعد تشخیص کی جانی چاہئے۔ ذیل میں بہاؤ آریھ ایک خیال دے گا کہ اگر بیان کوڈ کے بہاؤ کو کیسے کنٹرول کرتا ہے تو مندرجہ ذیل مثال پر غور کریں:
num1 = 10 num2 = 20 اگر (num1<=num2){ print('Num1 is less or equal to Num2') 

آؤٹ پٹ:

[1] 'Num1 Num2 کے برابر یا اس کے برابر ہے'
  • بصورت دیگر اگر بیان: دوسری صورت میں بیان اگر آپ کے بیان کے ذریعہ تخلیق شدہ بہاؤ میں شاخوں کو بڑھانے میں مدد کرتا ہے اور آپ کو بہاؤ کی نئی شاخیں تشکیل دے کر متعدد شرائط کا اندازہ کرنے کا موقع فراہم کرتا ہے۔ نیچے کا بہاؤ آپ کو اندازہ لگائے گا کہ اگر بیان کوڈ کے بہاؤ کو برانچ دیتا ہے تو:

    مندرجہ ذیل مثال پر غور کریں:

    Num1 = 5 Num2 = 20 if (Num1 Num2) {پرنٹ ('Num2 Num1 سے کم ہے')} ورنہ اگر ('Num1 == N22) {پرنٹ (' Num1 اور Num2 مساوی ہیں ')}

    آؤٹ پٹ:

    [1] 'Num1 N2 2 سے کم ہے'

  • دوسرا بیان: باقی بیان اس وقت استعمال کیا جاتا ہے جب دوسرے تمام تاثرات کی جانچ پڑتال کی جاتی ہے اور غلط پایا جاتا ہے۔ یہ آخری بیان ہوگا جو اگر - اگر اور اگر شاخ کے حصے کے طور پر عمل میں آیا ہے۔ نیچے بہاؤ آپ کو اس بارے میں ایک بہتر خیال دے گا کہ کوئی اور صورت میں کوڈ کے بہاؤ کو کیسے بدلتا ہے۔

مندرجہ ذیل مثال پر غور کریں:

Num1 = 5 Num2 = 20 if (Num1 Num2) {پرنٹ ('Num2 Num1 سے کم ہے') print دوسری پرنٹ ('Num1 اور Num2 مساوی ہیں')}

آؤٹ پٹ:

[1] 'نمبر 1 اور نمبر 2 مساوی ہیں'

پروگرامنگ: لوپس

ایک لوپ اسٹیٹمنٹ ہمیں ایک بیان یا بیانات کے گروپ کو متعدد بار عمل میں لانے کی اجازت دیتا ہے۔ R میں بنیادی طور پر 3 قسم کے لوپ ہیں۔

  1. دوبارہ لوپ : یہ ایک بیان یا بیانات کے گروپ کو دہراتا ہے جبکہ دی گئی حالت صحیح ہے۔ ریپیٹ لوپ ایگزٹ کنٹرول والے لوپ کی بہترین مثال ہے جہاں پہلے کوڈ کو پھانسی دی جاتی ہے اور پھر اس شرط کی جانچ پڑتال کی جاتی ہے کہ آیا اس کا تعین کرنے کے لئے کہ کنٹرول لوپ کے اندر ہونا چاہئے یا اس سے باہر نکلیں۔ ذیل میں دوبارہ لوپ میں کنٹرول کا بہاؤ ہے:
    آئیے ہم یہ سمجھنے کے لئے نیچے دی گئی مثال کو دیکھیں کہ جب تک ہم تعداد 100 سے تجاوز نہیں کرتے ہیں تو ہم نمبروں کو شامل کرنے کے لئے دوبارہ لوپ کا استعمال کیسے کرسکتے ہیں:

    x = 2 دہرائیں {x = x ^ 2 پرنٹ (x) اگر (x> 100) {بریک}

    آؤٹ پٹ:

    [1] 4 [1] 16 [1] 256
  2. جبکہ لوپ : میںt بیانات یا بیانات کے گروپ کو دہرانے میں مدد کرتا ہے جبکہ دی گئی حالت صحیح ہے۔ جب لوپ ، جب ریپٹ لوپ کے مقابلے میں تھوڑا سا مختلف ہوتا ہے ، تو یہ اندراج شدہ کنٹرول والے لوپ کی مثال ہے جہاں حالت کی جانچ پڑتال پہلے کی جاتی ہے اور صرف اس صورت میں کہ اگر صورتحال صحیح معلوم ہو تو کیا کوڈ کو چلانے کے لئے لوپ کے اندر کنٹرول فراہم کیا جاتا ہے؟ . ذیل میں تھوڑی دیر میں کنٹرول کا بہاؤ ہے:
    آئیے پہلے 10 نمبروں کے لئے مربعوں کا مجموعہ شامل کرنے اور سمجھنے کے لئے کہ لوپ کس طرح بہتر کام کرتا ہے: آئیے ذیل کی مثال ملاحظہ کریں۔

    نمبر = 1 سمن = 0 جبکہ (نمبر<=11){ sumn =(sumn+ (num^2) num = num+1 print(sumn) } 


    آؤٹ پٹ:

    [گیارہ [پندرہ [1] 14 [1] 30 [1] 55 [1] 91 [1] 140 [1] 204 [1] 285 [1] 385 [1] 506
  3. لوپ کے لئے : یہ ایک مقررہ تعداد میں کسی بیان یا گروپ کے اعادہ کرنے کے لئے استعمال ہوتا ہے۔ دہراؤ اور لوپ کے برعکس ، for لوپ کا استعمال ایسے حالات میں کیا جاتا ہے جہاں ہم کوڈ کو اس سے پہلے کہ اس پر عمل درآمد کرنے کے لئے کتنے وقت کی ضرورت ہوتی ہے اس سے واقف ہوں۔ یہ اسی وقت کے لوپ کی طرح ہے جہاں پہلے حالت کی جانچ پڑتال کی جاتی ہے اور پھر صرف اس کے اندر لکھے ہوئے کوڈ پر عمل درآمد ہوتا ہے۔ اب لوپ فار کنٹرول کے بہاؤ کو دیکھتے ہیں:

آئیے اب ایک ایسی مثال دیکھیں جس میں پہلے 10 نمبروں کو پرنٹ کرنے کے لئے ہم لوپ کا استعمال کریں گے۔

(x 1:10 میں) کے لئے {پرنٹ (x)}

آؤٹ پٹ:

[گیارہ [1] 2 [1] 3 [1] 4 [پندرہ [1] 6 [1] 7 [1] 8 [1] 9 [1] 10

پروگرامنگ: افعال

فنکشن منظم ، دوبارہ پریوست کوڈ کا ایک بلاک ہے جو کسی ایک ، متعلقہ کارروائی کو انجام دینے کے لئے استعمال ہوتا ہے۔ R میں بنیادی طور پر دو قسم کے افعال ہوتے ہیں۔

پیش وضاحتی افعال : یہ ان افعال میں بنی ہیں جن کا استعمال صارف اپنا کام کرنے کے لئے کرسکتا ہے ایزیr مثال کے طور پر: میآn( ایکس) ، suم( ایکس) ، sqrt ( ایکس ) ، ٹپر( ایکس ) ، وغیرہ۔

صارف کی وضاحت افعال: یہ افعال صارف کی ایک مخصوص ضرورت کو پورا کرنے کے لئے بنائے گئے ہیں۔ ذیل میں فنکشن بنانے کے لئے نحو ہےR:

 فنک  tion_name  <– تقریب (آرگ_1 ، آرگ_2 ، اور ہیلپ){ // فنکشن باڈی }

مربعوں کا مجموعہ پیدا کرنے کے لئے ایک سادہ کام کی مندرجہ ذیل مثال پر غور کریںکے2 نمبر:

sum_of_square<- function(x,y) { x^2 + y^2 } sum_of_sqares(3,4) 
آؤٹ پٹ: [1] 25

مجھے امید ہے کہ آپ نے اس آر پروگرامنگ بلاگ کو پڑھ کر لطف اندوز ہوگا۔ ہم نے اس ٹیوٹوریل میں R کی ساری بنیادی باتوں کا احاطہ کیا ہے ، لہذا آپ ابھی مشق کرنا شروع کر سکتے ہیں۔ اس آر پروگرامنگ بلاگ کے بعد ، میں تجزیاتی تجزیات کے لئے آر پر مزید بلاگوں کے ساتھ آؤں گا لہذا آپ جاری رکھیں۔

اب جب آپ R کی بنیادی باتوں کو سمجھ چکے ہیں تو ، چیک کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کا نیٹ ورک موجود ہے۔ آر ٹریننگ کے ساتھ ایڈورکا کا ڈیٹا اینالٹیکس آپ کو آر پروگرامنگ ، ڈیٹا ہیرا پھیری ، ایکسپلوریٹری ڈیٹا انیلیسیس ، ڈیٹا ویژلائزیشن ، ڈیٹا مائننگ ، ریگریشن ، سینٹیمنٹ تجزیہ اور خوردہ ، سوشل میڈیا پر حقیقی زندگی کے معاملات کے مطالعہ کے لئے آر اسٹیوڈیو کے استعمال میں مہارت حاصل کرنے میں مدد فراہم کرے گا۔

ہمارے لئے ایک سوال ہے؟ براہ کرم اس 'آر پروگرامنگ' بلاگ کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جلد از جلد آپ کے پاس مل جائیں گے۔