|
Masalaning qo’yilishida parametrlarni aniqlashBog'liq Ma\'lumotlar tuzilmasi Maruza Mustaqil ishAAA2. Masalaning qo’yilishida parametrlarni aniqlash:
Avval aka-ukalarning yoshlarini qabul qilish uchun Karim, Salim,
Jasur nomli o’zgaruvchilar olamiz. Keyin sarala nomli funksiya tuzib
olamiz. Sonni toq yoki toq emasligining mantiqiy qiymatini saqlash uchun
toq_son nomli o’zgaruvchi olamiz.
3. Hisoblash algoritmini (qoidasini) aniqlash:
Foydalanuvchidan aka-ukalarning yoshlarini qabul qilib olamiz.
Sarala nomli funksiya yozdamida ularning yozlarini saralab olamiz va
shartga qarab o’zish yoki kamayish tartibida ekranga chiqaramiz.
quick sort usulida saralovchi funksiya:
def sarala(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return sarala(left) + middle + sarala(right)
19
4. Masalaning yechimi uchun dasturlash tilidagi algoritm
(dastru kodi):
Python dasturlash tilida:
#quick sort usulida saralovchi funksiya
def sarala(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return sarala(left) + middle + sarala(right)
# Aka-ukalarning yoshlari
Karim = int(input('Karim: '))
Salim = int(input('Salim: '))
Jasur = int(input('Jasur: '))
# M toq son bo'lishini tekshirish
toq_son = Salim % 2 == 1
if toq_son:
20
print("O'sish tartibida chop eting:", sarala([Karim, Salim,
Jasur]))
else:
print("Kamayish tartibida chop eting:", sarala([Karim, Salim,
Jasur])[::-1])
|
| |