1-Mavzu 1-Mavzu Reja: Klass a’zolariga ruxsatni boshqarish


string s; s = RString("abcd", 0); // s = "dcba"


Download 111.72 Kb.
bet44/96
Sana29.03.2023
Hajmi111.72 Kb.
#1307438
1   ...   40   41   42   43   44   45   46   47   ...   96
Bog'liq
1-Mavzu 1-Mavzu Reja Klass a’zolariga ruxsatni boshqarish

string s;
s = RString("abcd", 0); // s = "dcba"
s = RString("A", 0); // s = "A"
s = RString("", 0); // s = ""
s = RString("www.bestprog.net", 0); // s = "ten.gorptseb.www"
Sartning simmetrikligini aniqlashning rekursiv funksiyasi misoli
i-elementdan j-m elementiga qadar ssatrining simmetrik qismi mavjudligini aniqlaydigan recursiv funksiyani ishlab chiqish.
// Recursiv funksiya satr simmetrik yoki simmetrik emasligini aniqlaydi
// pos parametr i bilan (j-i) / 2 joyini almashtiradi
static bool IsSymmetric(string s, int i, int j, int pos)
{
if ( (i + pos) <= ((j - i) / 2))
{
if (s[i + pos] != s[j - pos]) // satr belgilarini solishtirish
return false;
else
return IsSymmetric(s, i, j, pos + 1); // keyingi ikkita belgini ko'rib chiqish
}
else
return true; // butun satr o'tdi
}
Yuqoridagi funksiya i+pos va j-pos o`rnida turgan belgilar if operator yordamida solishtiriladi
if (s[i + pos] != s[j - pos])
...
pos parametri i qiymatiga qo'shilgan joyi almashtiriladi: i+posi va j pozitsiyalari orasida ba'zi diapazonlar mavjud. pos parametrini i dan j diapazonga o'tkazish shart emas. Faqat yarim oraliqni ko'rish kifoya, shuning uchun funksiya tekshirishni o'z ichiga oladi:
if ( (i + pos) <= ((j - i) / 2))
{

Download 111.72 Kb.

Do'stlaringiz bilan baham:
1   ...   40   41   42   43   44   45   46   47   ...   96




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling