|
2-amaliy mashg’ulot Ishdan maqsad
|
bet | 7/9 | Sana | 23.12.2023 | Hajmi | 116,2 Kb. | | #127323 |
Bog'liq 2-amaliy mashg'ulot MTva ADastur kodi
#include
using namespace std;
int main(){
int n;cout<<"n=";cin>>n;
struct Guruh{
string fio,adres;
}talaba[n];
for(int i=0;i
cout<
cout<
int low = 0,hi = n-1,search=-1,q=0;
string key="TTJ";
while(low<=hi){
int mid = (low + hi) / 2;
q++;
if (key == talaba[mid].adres){
search = mid;
break;
}
if (key < talaba[mid].adres)
hi = mid - 1;
else low = mid + 1;
}
if(search!=-1) cout<<"qidirilayotgan el "<
else {cout<
system("PAUSE");
return EXIT_SUCCESS;
}
while(talaba[search-1].adres==key) search--;
while(talaba[search].adres==key) {
cout<
search++; }
system("pause");
}
2. Masalaning qo‘yilishi – tabalarning ism, familiyalarini optimallashtirilgan pufaksimon usuli bilan tartibga keltirish dasturini tuzamiz va saralash nechta o‘rin almashtirish bilan amalga oshirilganini aniqlaymiz.
Algoritm
Jadvalga talabalar ism-sharifini kiritamiz.
Jadvaldagi 1-elementni olamiz, i=0.
Jadvaldagi n-1 oxirgi elementdan to i-elementgacha barcha elementni FIO maydonini o‘zidan oldin turgan element FIO maydoni bilan solishtiramiz. Agar zarur bo‘lsa, o‘rin almashtiramiz va o‘rin almashtirishlar hisoblagichi l ning qiymatini bittaga oshiramiz, ya’ni l++.
Agar i bo‘lsa, i++ va 3-qadamga o‘tamiz.
Natijaviy saralangan massivni ekranga chiqaramiz.
Dastur kodi
#include
#include
using namespace std;
int main(int args, char *argv[]){
int n; cout<<"talabalar sonini kiriting=";cin>>n;
struct table{
int t;
char FIO[20];
} talaba[n];
cout<
for(int i=0;i
talaba[i].t=i+1;
cin>>talaba[i].FIO;
}
int l=0;
for(int i=0;i
for(int j=n-1;j>i;j--){
if (strcmp(talaba[j-1].FIO,talaba[j].FIO)==1){
l++;
table k=talaba[j];
talaba[j]=talaba[j-1];
talaba[j-1]=k;
}
}
}
for(int i=0;i
cout<<"| "<
cout<<"bu algoritm jadvalni "<
system("PAUSE");
}
Qanday qidiruv algoritmlarini bilasiz?
Qidiruv jarayonining tezligi nimalarga bog‘liq?
Statik tuzilmadan birorta elementni izlashning qanday usullari mavjud?
Binar qidiruvni ro‘yhat tuzilmasiga qo‘llab bo‘ladimi? Sababini asoslang.
Qanday saralash algoritmlarini bilasiz?
Saralash algoritmlari samaradorligini qanday baholash mumkin?
Pufaksimon saralash algoritmi va uni yahshilangan usulini tushuntiring.
To‘g‘ridan-to‘g‘ri qo‘shish, tanlash algoritmlarini farqini tushuntiring.
Topshiriq
Variantlar:
Ketma-ket qidiruv usulidan foydalanib, ro‘yhat eng kichik elementini toping.
Ketma-ket qidiruv usulidan foydalanib, ro‘yhatda berilgan kalitdan katta elementlarni toping.
Ketma-ket qidiruv usulidan foydalanib, ro‘yhat eng kichik elementini toping.
Ketma-ket va binar qidiruv usulidan foydalanib, A massivdan elementni va taqqoslashlar sonini toping.
Binar qidiruvdan foydalanib elementlarni tasodifiy ravishda toping.
Binar qidiruvdan foydalanib massivdan berilgan kalitga karrali kalitli elementni va solishtirishlar sonini toping.
Binar qidiruv usuli yordamida massivga yangi elementni kiriting.
Binar qidiruv usuli yordamida massivning key kalitli elementini o‘chiring.
Berilgan massivda key kalitli elementni ketma-ket va binar qidiruv usullari yordamida izlang va qaysi usul ushbu qidiruv holatida samara berganligini aniqlash dasturini keltiring.
Talabalar ismi va umumiy ballaridan iborat jadvaldan ketma-ket qidiruv usuli bilan balli maksimal bo‘lgan talabani toping.
Talabalar ismi va umumiy ballaridan iborat jadvaldan binar qidiruv usuli yordamida so‘ralgan talabaning umumiy balini chiqarish dasturini tuzing.
Boshiga qo‘yish usuli yordamida talabalar ismlaridan iborat massiv elementlariga ko‘p marta murojaat qilib massivni qayta tartiblang.
Ta’mirlash ustaxonasida bir nechta (N ta) mashina bor. Ular to‘g‘risida quyidagi ma’lumotlarga egamiz: raqami, markasi, egasining ismi, oxirgi marta ta’mirlanganligi sanasi (kuni, oyi, yili), ta’mirdan chiqishi lozim bo‘lgan sana (kun, oy, yil).
|
| |