6-Amaliy mashg‘ulot: Ma’lumotlarni saralash algoritmlari va dasturlarini ishlab
chiqish.
Ishdan maqsad: Ushbu amaliyot ishining maqsadi talabalar qanday saralash
usullari va algoritmlari mavjudligini va ularning samaradorliklarini baholashni
o‘rganishlari kerak. Shu asosda saralash usullarini qiyosiy tahlil qilishlari, C++
dasturlash tilida fayllar bilan ishlashni va ularga oid dasturlar tuzishni o‘zlashtirishlari
kerak.
Qo‘yilgan masala: Talabalar topshiriq variantiga mos saralash usuli yordamida
masalani yechish dasturini yaratish ko‘nikmasiga ega bo‘lishlari kerak.
Ish tartibi:
1.
Tajriba ishi nazariy ma’lumotlarini o‘rganish;
2.
Berilgan topshiriqning algoritmini ishlab chiqish;
3.
C++ dasturlash muhitida dasturni yaratish;
4.
Natijalarni tekshirish;
5.
Hisobotni tayyorlash va topshirish.
Pufakchali usuli bilan saralash algoritmi.
Bunday usul karta o‘yinida keng qo‘llaniladi. Elementlar (kartalar) hayolan
“tayyor” a(1),...,a(i-1) va boshlang‘ich ketma-ketliklarga bo‘linadi. Har bir qadamda
(i=2 dan boshlanib, har bir qadamda bir birlikka oshirib boriladi) boshlang‘ich ketma-
ketlikdan i-chi element ajratib olinib tayyor ketma-ketlikning kerakli joyiga qo‘yiladi.
Pufakcha orqali saralash algoritmi quyidagicha bo‘ladi:
for (int i = n-1; i >= 1; i--)
{
for (int j = 0; j < i; j++)
{
if (a[j] > a[j+1])
{
swap(a[j],a[j+1]);}}
for (int i = 0; i < n; i++)
cout<
Amaliy qism:
Ixtiyoriy nomdagi ro’yxat elementlari e’lon qilinsin va ixtiyoriy qiymatlar bilan
kiritilsin. Insert() funksiyasida foydalangan xolda qo’shimcha qiymatlar kiritilsin.
Unique() funksiyasidan foydalanibelementlar saralansin, natijalar ekranga chop etilsin.