PDA

View Full Version : جستجو در رشته ها



moorteza177
یک شنبه 23 اسفند 1394, 10:57 صبح
سلام
توی یک برنامه میخام مقادیر یک رشته رو در رشته ای دیگر جستجو کنم فرض کنید مقادیر رشت اول a,b,c,dهست و مقادیر رشته دومa,b,cهست از دوتا فور(for)تو در تو استفاده کردم وقتی ترتیب درست هست برنامه کار می کنه ولی وقتی ترتیب بهم میخوره مثلاb,a,cبرنامه دیگه کار نمیکنه چطور میشه این مشکل رو در c#حل کرد
ممنون میشم جواب بدید

En_MK
یک شنبه 23 اسفند 1394, 12:22 عصر
سلام
خیلی راه هست
راه اول


(https://msdn.microsoft.com/en-us/library/yw84x8be%28v=vs.110%29.aspx)


string [] names ={"P","A","B","G","F","K","R"}
string [] subnames={"P","G","O"}
names.Any(x => subnames.Contains(x))

bisbis10
دوشنبه 24 اسفند 1394, 10:49 صبح
اینم از روشی که خودتون انجام دادید.....




string[] aStr1 = { "a", "b", "c", "d", "e", "a" };
string[] aStr2 = { "c", "b", "g" };


for (int i = 0; i < aStr2.Length; i++)
{


for (int j = 0; j < aStr1.Length; j++)
{
if (aStr2[i] == aStr1[j])
{


Console.WriteLine("Str2[{0}]({1}) Found in Str1[{2}]({3})", i, aStr2[i], j, aStr1[j]);
}

}
Console.WriteLine();

}




Console.ReadKey();

bisbis10
دوشنبه 24 اسفند 1394, 11:02 صبح
کد قبلی پوزیشن هاشون رو نمایش میداد
اما این یکی اگ همه ی مقدار های Str2 توی Str1 وجود داشته باشه True نشون میده
در غیراینصورت False



string[] aStr1 = { "a", "b", "c", "d", "e", "a" };
string[] aStr2 = { "a","a","d" };
bool flag = false;

for (int i = 0; i < aStr2.Length; i++)
{
flag = false;

for (int j = 0; j < aStr1.Length; j++)
{
if (aStr2[i] == aStr1[j])
{

flag = true;

}

}

if (flag == false)
break;

}

if (flag)
Console.WriteLine("True");
else
Console.WriteLine("False");

moorteza177
سه شنبه 25 اسفند 1394, 10:58 صبح
سلام من با همین روش مینویسم ولی اگه ترتیب کلمه ها درست نباشه برنامه کار نمی کنه مثلا بجایa,b,cبزنی b,a,cاشتباه کار میکنه برای این مشکل راه حلی نیست

bisbis10
سه شنبه 25 اسفند 1394, 14:13 عصر
سلام
شما میخای به ترتیب مقدار ها هم توجه بشه؟

moorteza177
چهارشنبه 26 اسفند 1394, 05:43 صبح
سلام ممنون که جواب میدی
این astr1وastr2به صورت اتومات گرفته میشه من نمی خام که ترتیب مهم باشه ولی متسفانه وقتی ترتیب بهم میریزه برنامه دیگه نمیتونه astr2رو در astr1 پیدا کنه میتونی این مشکلو حل کنی ؟؟؟؟

bisbis10
چهارشنبه 26 اسفند 1394, 10:18 صبح
سلام ممنون که جواب میدی
این astr1وastr2به صورت اتومات گرفته میشه من نمی خام که ترتیب مهم باشه ولی متسفانه وقتی ترتیب بهم میریزه برنامه دیگه نمیتونه astr2رو در astr1 پیدا کنه میتونی این مشکلو حل کنی ؟؟؟؟

توی کد بالا ترتیب هم بهم بریزه جواب صحیح رو بهتون میده

moorteza177
جمعه 28 اسفند 1394, 05:26 صبح
ببخشید میشه سورس برنامه ام رو بهتون بدم شما ببینید مشکل جستجوی برنامه کجا هست

bisbis10
جمعه 28 اسفند 1394, 14:42 عصر
ببخشید میشه سورس برنامه ام رو بهتون بدم شما ببینید مشکل جستجوی برنامه کجا هست

سورس رو ضمیمه کنید

moorteza177
شنبه 29 اسفند 1394, 12:58 عصر
139655
اخر فیل مشکل رو توضیح دادم
ببخشید که وقت تون رو میگیرم