return s2; // rekursiv jarayonning oxiri
}
}
Funksiya ni boshqa dasturiy kodda ishlatish
string resStr;
string s2 = "";
string s = "AAABCCCCAADDDD";
resStr = ConvertStr(s, 0, ' ', 0, s2); // resStr = "3AB4C2A4D"
resStr = ConvertStr("ACDDVFFSA", 0, '+', 0, ""); // resStr = "AC2DV2FSA"
resStr = ConvertStr("+++---;;;zzxkf", 0, '+', 0, ""); // resStr = "3+3-3;2zxkf"
resStr = ConvertStr("ddd", 0, 'z', 0, ""); // resStr = "3d"
Satrlarni taqqoslash misoli
Identifikatsiya qilish uchun ikki satrni taqqoslaydigan rekursiv funksiyani ishlab chiqish. Ikki satr bir xil deb hisoblanadi, agar:
satrlar uzunligi bir xil;
har bir satrning o`xshash belgilari bir xil pozitsiyalarda joylashgan.
Rekursiv funksiyasi quyidagi parametrlarni olishi kerak:
ikkinchi satr bilan taqqoslanadigan birinchi satrga havola;
ikkinchi satrga havola birinchi satr bilan taqqoslanadigan;
taqqoslanadigan satrlar belgilarining joriy pozitsiyasi.
Funksiya bool tipidagi natijani qaytarishi kerak. Satrlar bir xil bo'lsa, funksiya true, aks holda funksiya false natija qaytaradi.
// satrlarni taqqoslashning rekursiv funksiyasi
static bool EqualStrings(string s1, string s2, int pos)
{
if (s1.Length != s2.Length) // satrlar uzunligi tengmi?
return false;
else
if (pos < s1.Length)
{
// agar bir xil o`rindagi belgilar o`xshash bo'lmasa, unda false
Dostları ilə paylaş: |