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


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



Yüklə 233,68 Kb.
səhifə45/96
tarix27.07.2023
ölçüsü233,68 Kb.
#137688
1   ...   41   42   43   44   45   46   47   48   ...   96
1-Mavzu 1-Mavzu Reja Klass a’zolariga ruxsatni boshqarish-fayllar.org

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))
{

Yüklə 233,68 Kb.

Dostları ilə paylaş:
1   ...   41   42   43   44   45   46   47   48   ...   96




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin