Oyd da juda murakkab saralash algoritmlari asosida dasturlar yaratish Ishning maqsadi



Download 167,11 Kb.
Sana24.02.2021
Hajmi167,11 Kb.
#59739
Bog'liq
OYD da juda murakkab saralash algoritmlari asosida dasturlar yaratish


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)

class odamlar:

ismi,

familyasi,

Yoshi

class talabalar:

bahosi


Array konteniridan foydalanib

talabalar ro’yxatida yoshi bo’yicha saralang.





#include "stdafx.h"

#include

#include

#include

#include

#include

using namespace std;
class odamlar{

public:

char ismi[10];

char familiyasi[12];

int yoshi;

void kiritish(){

cout << "Talabaning familiyasini kiriting: "; cin >> ismi;

cout << "Talabaning ismini kiriting: "; cin >> familiyasi;

cout << "Talabaning yoshini kiriting: "; cin >> yoshi;

}

void print(){

cout << "Talabaning familiyasi: "; cout << familiyasi<
cout << "Talabaning ismi: "; cout << ismi<
cout << "Talabaning yoshi: "; cout << yoshi<
}

};
class talabalar: public odamlar

{ public:

int bahosi;

void baho(){

cout << "Talabaning bahosini kiriting: "; cin >> bahosi;

}
};

int main()

{

const int n = 3;



odamlar info[n],temp;

talabalar point[n];
for (int i = 0; i < n; i++){

info[i].kiritish();

point[i].baho();



}

array myarray;
int tempp;

for (int i = 0; i < n; i++){

tempp = point[i].bahosi;

myarray[i] = tempp;
}

sort(myarray.begin(), myarray.end());

cout << "\n\n ||||||||||||||Talabalaarning baholari o'sish tartibida|||||||||||||||| \n\n";

for (int k = 0; k < n; k++){


for (int i = 0; i < n; i++)

{

if (point[i].bahosi == myarray[k]){

info[i].print();

cout << "Talabaning bahosi: " << myarray[k] << endl;

}

}
}

sort(myarray.rbegin(), myarray.rend());

cout << "\n\n ||||||||||||||Talabalaarning baholari kamayish tartibida|||||||||||||||| \n\n";

for (int k = 0; k < n; k++){


for (int i = 0; i < n; i++)

{

if (point[i].bahosi == myarray[k]){

info[i].print();

cout << "Talabaning bahosi: " << myarray[k] << endl;

}

}
}

cout<<"Ustoz faqat array konteyneridan foydalanib deyilganiganiga arraydan foydalanib saradim bubble yoki shell sortlarni qo’llamadim";

system("pause");

return 0;

}




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

Millayarderlar” classini yarating.

Maydonlar: FIO, yashash_manzili,boyligi,firmalari,yoshi.



Vector konteniridan foydalanib boyligi bo’yicha saralang.

(kamida 30 xonali sonlar ketma-ketligidan iborat bo‘lsin).


#include "stdafx.h"

#include

#include

#include

#include

#include

using namespace std;

class milliarderlar

{

public:

string FIO;

string yashash_manzili;

string boyligi;

string firmalari;

int yoshi;

void input()

{



cout << "Milliarderning FIO sini kiriting: ";

cin >> FIO;

cout << "Yashash manzilini kiriting: ";

cin >> yashash_manzili;

cout << "Milliarderning boyligini kiriting: ";

cin >> boyligi;

cout << "Milliarderning firmalarini kiriting: ";

cin >> firmalari;

cout << "Milliarderning yoshini kiriting: ";

cin >> yoshi;

}

void print()

{

cout << "Milliarderning FIO si: " << FIO << endl;

cout << "Yashashmanzili: " << yashash_manzili << endl;

cout << "Milliarderning boyligi: " << boyligi << endl;

cout << "Millarderning firmalari: " << firmalari << endl;

cout << "Milliarderning yoshi: " << yoshi << endl;

}

};

//geeksforgeeksdan olingan

bool taqqos(string str1, string str2)

{

int n1 = str1.length(), n2 = str2.length();
if (n1 < n2)

return true;

if (n2 < n1)

return false;

for (int i = 0; i
{

if (str1[i] < str2[i])

return true;

if (str1[i] > str2[i])

return false;

}
return false;

}

void sort_KS(string arr[], int n)

{

sort(arr, arr + n, taqqos);

}
/////__________________________________________///////

int main()

{

const int n = 3;

milliarderlar mil[n], temp;

for (int i = 0; i < n; i++)

{

mil[i].input();

}

string myarray[n];

for (int i = 0; i < n; i++)

{

myarray[i] = mil[i].boyligi;

}
sort_KS(myarray, n);
cout << "\n\n |||||||||||||\\\\////||||||||||||| \n\n";

for (int k = 0; k < n; k++)

{

for (int i = 0; i < n; i++)

{

if (myarray[k] == mil[i].boyligi)

{

temp = mil[k];

mil[k] = mil[i];

mil[i] = temp;

}

}

}
for (int i = 0; i < n; i++)

{

mil[i].print();
}

system("pause");

return 0;
}


Download 167,11 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish