صفحه: [1]   پایین
  چاپ صفحه  
نويسنده موضوع: معکوس کردن رشته  (دفعات بازدید: 1180 بار)
sepehr70
کاربر نیمه فعال
**

تشكرها : 6
آفلاین آفلاین

جنسيت : پسر
تعداد ارسال: 54


من یه ایرانیم که صفا و سادگی رسممه


ديدن مشخصات
« : 04 تير 1390,ساعت 17:41:59 »

سلام
من چطور می تونم در کنسول سی شارپ یک رشته رو از کاربر بگیرم و اون رو به صورت برعکس از آخر به اول چاپ کنم
به عنوان مثال : salam   ======>> malas
من ایده ای که دارم به این صورته که آرایه ای از کاراکتر ها رو بگیرم و اون آرایه رو reverse کنم ولی نمی دونم چطور این کارو باید انجام بدم
ممنون میشم راهنمایی کنید
خارج شده است
مجتبی چنانی
Aiapir Team
*

تشكرها : 26
آفلاین آفلاین

جنسيت : پسر
تعداد ارسال: 98

برنامه نویس!


ديدن مشخصات
« پاسخ #1 : 05 تير 1390,ساعت 13:24:40 »

با سلام
دوست عزیز گرفتن کاراکتر به کاراکتر خیلی کار اشتباهیه و نمیشه از این ترفند استفاده کرد. برای اینکه بتونیم یک رشته رو به چند بخش بشکافیم میتونیم از توابعی مانند
کد:
variable.substring(shoroo,tool);
این تابع که برای هر رشته در زبان سی شارپ موجود هست رو میتونید به کار ببرید که دو متغیر میگیره. اولی اینکه از کجا و دومی به چه طولی از رشته مورد نظر را استخراج کنه. که برای شما طول میتواند 1 باشد. من یک مثال برای شما گذاشتم اما خود جواب نیست تا خودتون به جواب برسید.
کد:
string s = Console.ReadLine();
            string sh1 = s.Substring(0, 3);//az 0 shoroo be shomordane charechter ha mikonad be tedade 3 ta joda mikonad
            string sh2 = s.Substring(3 , 2);//az 3 shoroo be shomaresh mikonad, be andazye 2ta joda mikonad
            //nokte: shomarye charechter ha mese araye az sefr shoroo mishavad
            Console.WriteLine(sh1 + " " + sh2);
« آخرين ويرايش: 05 تير 1390,ساعت 14:00:11 توسط حسین جهانبخش » خارج شده است

Life runs on code.... keep writing or die...

كاربران گرامی : لطفاً قبل از هرگونه فعاليت ابتدا قوانين انجمن را مطالعه  و قبل از ارسال جديد در انجمن جستجو نماييد.
مجتبی چنانی
Aiapir Team
*

تشكرها : 26
آفلاین آفلاین

جنسيت : پسر
تعداد ارسال: 98

برنامه نویس!


ديدن مشخصات
« پاسخ #2 : 05 تير 1390,ساعت 13:25:46 »

کد:
string s = Console.ReadLine();
            string sh1 = s.Substring(0, 3);//az 0 shoroo be shomordane charechter ha mikonad be tedade 3 ta joda mikonad
            string sh2 = s.Substring(3 , 2);//az 3 shoroo be shomaresh mikonad, be andazye 2ta joda mikonad
            //nokte: shomarye charechter ha mese araye az sefr shoroo mishavad
            Console.WriteLine(sh1 + " " + sh2);






*_متن کد شد.
« آخرين ويرايش: 05 تير 1390,ساعت 17:28:54 توسط كیانی » خارج شده است

Life runs on code.... keep writing or die...

كاربران گرامی : لطفاً قبل از هرگونه فعاليت ابتدا قوانين انجمن را مطالعه  و قبل از ارسال جديد در انجمن جستجو نماييد.
حسین جهانبخش
Aiapir Team
*

تشكرها : 44
آفلاین آفلاین

جنسيت : پسر
تعداد ارسال: 107


دانشجوی فوق لیسانس علوم کامپیوتر


ديدن مشخصات WWW
« پاسخ #3 : 05 تير 1390,ساعت 14:11:16 »

من فکر نمی کنم این راه حل جواب بده. این چیزی که به ذهن من میرسه و می تونم بگم اینه که اولاً فکر می کنم که ما یک متد به اسم ToCharArray داریم که یک استرینگ را گرفته و اون رو تبدیل به آرایه ای از کاراکترها می کنه. و می تونید از روش زیر برای معکوس کردن یک رشته استفاده کنید:

کد:
string s;
Console.Write("Enter A String: ");
s = Console.ReadLine();
char[] cArray = s.ToCharArray();
string reverse = String.Empty;
for (int i = cArray.Length - 1; i > -1; i--)
{
reverse += cArray[i];
}
Console.WriteLine("{0}", reverse);
Console.ReadLine();
خارج شده است

مجتبی چنانی
Aiapir Team
*

تشكرها : 26
آفلاین آفلاین

جنسيت : پسر
تعداد ارسال: 98

برنامه نویس!


ديدن مشخصات
« پاسخ #4 : 05 تير 1390,ساعت 14:23:38 »

والا چی بگم؛ فکر کنم انگیزه طراح سئوال این بوده که دوست عزیزمون خودش یاد بگیرن و نه اینکه کد اماده تحویل بگیرن....
این توابع رو میشناسم اما نمیخواستم...
اما خب شما مدیرین، دستتون درد نکنه...
خارج شده است

Life runs on code.... keep writing or die...

كاربران گرامی : لطفاً قبل از هرگونه فعاليت ابتدا قوانين انجمن را مطالعه  و قبل از ارسال جديد در انجمن جستجو نماييد.
كیانی
مديريت سايت
*****

تشكرها : 145
آنلاین آنلاین

جنسيت : پسر
تعداد ارسال: 1146


اليس الله بكاف عبده ؟!


ديدن مشخصات WWW
« پاسخ #5 : 05 تير 1390,ساعت 17:30:05 »

سلام خدمت دوستان عزیز این مبحث

در این گونه سوالات مهم رسیدن کاربر به نتیجه مناسب ، در بهترین شرایط است و نوع آن در درجه بعدی قرار می گیرد .
به هر حال از توجه همه شما دوستان عزیز کمال تشکر را داریم.

یا حق
خارج شده است

" فقال رب انی لما انزلت الی من خیر فقیر (قصص 24) * اللهم عجل لوليك الفرج"
جستجو | قوانين انجمن | آياپير | مقالات تخصصي  |عضويت درتيم آياپير
حسین جهانبخش
Aiapir Team
*

تشكرها : 44
آفلاین آفلاین

جنسيت : پسر
تعداد ارسال: 107


دانشجوی فوق لیسانس علوم کامپیوتر


ديدن مشخصات WWW
« پاسخ #6 : 05 تير 1390,ساعت 18:00:39 »

من منظورم این بود که کدی که شما گفته بودید این کار رو نمی کرد. الان اگر کلمه salam رو به کدی که شما لطف کرده بودید بدیم از ابتدا 3 کاراکتر میشماره و در sh1 میریزه پس sh1=sal میشه.
در گام بعدی 2 کاراکتر بعدی رو در sh2 میریزه در نتیجه sh2=am میشه و در نهایت نتیجه ای که برای ما خواهد داشت و شما اون رو به خروجی فرستادید (Console.WriteLine(sh1 + " " + sh2); ) به صورت زیر میشه:
sal am
و این اون چیزی نیست که صورت مسئله خواسته.
راستی اینی که گفتم ما یه متد به اسم ToCharArray  داریم منظورم توضیحی بود برای سپهر عزیز وگرنه اصلاً منظورم این نبود که این تابع رو به شما یادآوری کنم چشمک
این سوال فقط با استفاده از آرایه ای از رشته ها قابل حله و نمیشه با متدهای مربوط به رشته ها به نتیجه ی دلخواه رسید.

درسته که قوانین سایت میگه که جواب تمرینات رو به دانشجوها ندید ولی این روشی که من گفتم اصلاً مناسب تحویل به استاد نیست و من با در نظر گرفتن اینکه ممکنه مطرح کننده سوال برای یک پروژه نیاز به این متد داره اون رو توضیح دادم چون متد ToCharArray  در هیچ کلاس دانشگاهی آموزش داده نمیشه و اگر دانشجویی از اون استفاده کنه معلوم میشه که از خودش ننوشته. چشمک

در پایان امیدوارم با توجه به توضیحاتی که دادم سوء تفاهمات بر طرف شده باشه شکلک
خارج شده است

مجتبی چنانی
Aiapir Team
*

تشكرها : 26
آفلاین آفلاین

جنسيت : پسر
تعداد ارسال: 98

برنامه نویس!


ديدن مشخصات
« پاسخ #7 : 05 تير 1390,ساعت 19:04:48 »

اختیار دارین آقای جهانبخشی عزیز
البته من در اونجا حلی از سئوال رو ندادم و تنها کاربرد تابعی که نام بردم رو گفتم. کاربر با تکه تکه کردن جمله به صورت 1 کارکتری و ذخیره اون در ارایه میتونست پس از این کار ارایه را به صورت معکوس چاپ کنه. و تمام!!!
خارج شده است

Life runs on code.... keep writing or die...

كاربران گرامی : لطفاً قبل از هرگونه فعاليت ابتدا قوانين انجمن را مطالعه  و قبل از ارسال جديد در انجمن جستجو نماييد.
حسین جهانبخش
Aiapir Team
*

تشكرها : 44
آفلاین آفلاین

جنسيت : پسر
تعداد ارسال: 107


دانشجوی فوق لیسانس علوم کامپیوتر


ديدن مشخصات WWW
« پاسخ #8 : 05 تير 1390,ساعت 19:13:29 »

این هم ایده جالبیه فقط یه کم دردسرش زیاده ولی از نظر منطقی کاملاً درسته.
خارج شده است

sepehr70
کاربر نیمه فعال
**

تشكرها : 6
آفلاین آفلاین

جنسيت : پسر
تعداد ارسال: 54


من یه ایرانیم که صفا و سادگی رسممه


ديدن مشخصات
« پاسخ #9 : 07 تير 1390,ساعت 11:10:11 »

ممنون از شما آقای m.chenani و آقای جهانبخش
الگوریتمی که من تو ذهنم داشتم شبیه الگوریتم آقای m.chenani بود ولی نمیدونستم که چطور رشته رو به آرایه ای از کاراکتر ها تبدیل کنم که بشه اونو reverse کرد که متوجه شدم که هم میتونم از ToCharArray استفاده کنم و هم از روش Substring  البته substringo قبلا استفاده کرده بودم ولی نه به این منظور . جالب بود
بازم ممنون از دوستان .
خارج شده است
صفحه: [1]   بالا
  چاپ صفحه  
 
پرش به :