Muhammad Al-Xorazmiy nomidagi Toshkent Axborot Texnologiyalari Universiteti Dasturlash kafedrasi



Yüklə 99,56 Kb.
tarix25.04.2023
ölçüsü99,56 Kb.
#102335
Muhammad Al-Xorazmiy nomidagi Toshkent Axborot Texnologiyalari U


Muhammad Al-Xorazmiy nomidagi Toshkent Axborot Texnologiyalari Universiteti
Dasturlash kafedrasi
Dasturlash II fani bo’yicha
LABARATORIYA ISHI

Mavzu: OYD da juda murakkab saralash algoritmlari asosida dasturlar yaratish

Bajardi: 013-L2 guruh talabasi


Muxtorov Sharof
Tekshirdi: Hojiev Sunatullo

Toshkent- 2020




OYD da juda murakkab saralash algoritmlari asosida dasturlar yaratish


Ishning maqsadi: C++ tilida classlar, kontener ko’nikmalari asosida murakkab saralash algortimlarni imkoniyatlaridan foydalanib dasturlash bilimlarini shakllantirish.
Topshiriq: Berilgan class va kontenerlar orqali murakkab saralash algoritmlaridan foydalanib dastur yozing.



Ajdod class va uning maydonlari

Voris class (ajdod class maydonlaridan foydalangan holda)

Obektlar massivini yarating.
Murakkab saralash algortimlaridan foydalanib saralash metodlari yarating.
(saralang o’sib borish tartibida yoki kamayib borish tartibida va alvabet tartibida)



8.

class kitob
sahifalar soni,

class gazetalar:
narxi,
nomi,



Vector konteniridan foydalanib
gazetalar ro’yxatida sahifalar soni,
bo’yicha saralang.

#include


#include
#include
#include
#include
using namespace std;
class kitob {
public:
int saxifson;
};

class gazetalar : public kitob{


public:
string nomi;
int narx;
gazetalar(string nomi,int narx, int saxifason){
this->nomi=nomi;
this->narx=narx;
this->saxifson=saxifason;
}
void chiqar (){
cout<<" Gazeta nomi -> "< "< "< }
};

bool sfd (gazetalar &a, gazetalar &b){


return (a.saxifson < b.saxifson);
}

int main (){


int n,sax,narx;
string nomi;
cout<<" Gazetalar sonini kiriting : "; cin>>n;
vector K;
for (int i = 0; i < n; i++)
{
cout< cout<<" Gazeta nomi -> "; cin>>nomi;
cout<<" Gazeta narxi-> "; cin>>narx;
cout<<" Gazeta sahifalari soni ->"; cin>>sax;
K.push_back(gazetalar(nomi,narx, sax));
}
vector::iterator k;
sort(K.begin(), K.end(),sfd);
for (k=K.begin(); k!=K.end(); k++){
gazetalar as= *k;
as.chiqar();
}
system("pause");
}



    1. OYD da juda katta sonlarni saralash algoritmlari asosida dasturlar yaratish

Ishning maqsadi: Juda katta sonlarni saralash algoritmlari orqali dasturlash ko’nikmalarini shakllantirish.
Topshiriq: Variantda berilgan class, noma’lum nomlar fazosi,kontenerlar asosida, OYD da juda katta sonlarni saralash algoritmlari xususiyatlaridan foydalangan holda vazifaga muvofiq dasturni yozing.
2- jadval



Topshiriq
Barcha classlarda juda katta sonlarni saralash algoritmlaridan foydalanib saralash metodlarini yarting




Poezdlar” classini yarating.
Maydoni: nomi,uzunligi(sm),tezligi.
Vector konteniridan foydalanib uzunligi bo’yicha saralang. (kamida 17 xonali sonlar ketma-ketligidan iborat bo‘lsin).

#include


#include
#include
#include
#include
using namespace std;
class Poezd {
public:
string name, leng;
int tezlik;
Poezd(string name, string leng, int tezlik){
this->leng=leng;
this->name=name;
this->tezlik=tezlik;
}
string getleng(){
return leng;
}
void poyezd (){
cout<"<"< }
};
bool lengsort (Poezd &q, Poezd &w){
int a=q.getleng().length(), b=w.getleng().length();
if (a>b) return true;
if (a for (int i = 0; i < b ; i++)
{
if (q.getleng()>w.getleng()) return false;
if (q.getleng() }
return true;
}
int main (){
int n,tez;
string nomi,l;
cout<<" Poyezdlar sonini kiriting -> "; cin>>n;
vector qw;
for (int i = 0; i < n; i++)
{
cout< cout<<" Poyezd nomi -> "; cin>>nomi;
cout<<" Poyezd uzunligi sm da-> "; cin>>l;
cout<<" Poyezd tezligi km/soat da -> "; cin>>tez;
qw.push_back(Poezd(nomi,l,tez));
}
cout<<"\n<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>\n";
sort(qw.begin(),qw.end(),lengsort);
vector::iterator wq;
for(wq=qw.begin(); wq!=qw.end(); wq++){
Poezd QW=*wq;
QW.poyezd();
}
system("pause");
}

Yüklə 99,56 Kb.

Dostları ilə paylaş:




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