Amaliy ish topshirig‘i. Berilgan masalani yechish uchun algoritm va mos dasturni ishlab
chiqing. Algoritmni blok-sxema shaklida ifodalang va zarur bo‘lsa algoritmik dekompozitsiyani
amalga oshiring. Zarur hollarda qism masalalarni yechish uchun qism dasturlardan foydalaning.
Dastur namunasi. Biz quyida namuna sifatida ma’lumotlarni saralash bilan bog‘liq masalani
qaraymiz. Masalani Quicksort va MergeSort usullari yordamida yechish algoritmini (psevdokod
shaklida) ishlab chiqamiz va uni C++ tilidagi dasturga o‘tkazamiz.
Amaliy ish topshirig‘i sharti. N ta sondan iborat massiv berigan. Massivni QuickSort usuli
bilan tartibga keltirish dasturini tuzamiz
Masalani yechish algoritmi (Quicksort saralash usuli)
. Dastur kodi
#include
using namespace std;
int partition(int *a,int start,int end)
{
int pivot=a[end];
int P_index=start;
int i,t;
for(i=start;i{
if(a[i]<=pivot)
{
t=a[i];
a[i]=a[P_index];
a[P_index]=t;
P_index++;
}
}
t=a[end];
a[end]=a[P_index];
a[P_index]=t;
return P_index;
}
void Quicksort(int *a,int start,int end)
{
if(start{
int P_index=partition(a,start,end);
Quicksort(a,start,P_index-1);
Quicksort(a,P_index+1,end);
}
}
int main()
{
int n;
cout<<"Elementlar sonnini toping: ";
cin>>n;
int a[n];
cout<<"Massiv elementlarini kiriting:\n";
for(int i=0;i{
cin>>a[i];
}
Quicksort(a,0,n-1);
cout<<"Saralangan massiv:\n";
for(int i=0;i {
cout< }
system("pause");
return 0;
}
Dostları ilə paylaş: |