Funksiya va sinf shablonlari Topshriqlar: Massiv o‘suvchi yoki kamayuvchi yoki o’zaro teng ekanligini tekshiruvchi funksiya shablonini yarating



Yüklə 39,14 Kb.
tarix11.12.2023
ölçüsü39,14 Kb.
#147021
MTA 6-amaliyott


Funksiya va sinf shablonlari
Topshriqlar:
1. Massiv o‘suvchi yoki kamayuvchi yoki o’zaro teng ekanligini tekshiruvchi funksiya shablonini yarating.
2. Sinfda polimorfizm, inkapsulyatsiyaga misollar keltiring


  1. #include

template
bool osovrKamayuvchiOzaroTeng(T array[], int length) {
if (length <= 1) {
std::cerr << "Massiv uzunligi yetarli emas!" << std::endl;
return false;
}
bool osovr = false;
bool kamayuvchi = false;
bool ozaroTeng = true;
for (int i = 1; i < length; ++i) {
if (array[i - 1] > array[i]) {
osovr = true;
} else if (array[i - 1] < array[i]) {
kamayuvchi = true;
} else {
ozaroTeng = false;
}
}
if (ozaroTeng) {
std::cout << "Massiv o'zaro teng!" << std::endl;
} else if (osovr && !kamayuvchi) {
std::cout << "Massiv o'suvchi!" << std::endl;
} else if (!osovr && kamayuvchi) {
std::cout << "Massiv kamayuvchi!" << std::endl;
} else {
std::cout << "Massivda o'suvchi, kamayuvchi va o'zaro teng elementlar mavjud!" << std::endl;
}
return ozaroTeng || (osovr && !kamayuvchi) || (!osovr && kamayuvchi);
}
int main() {
int ascendingArray[] = {1, 2, 3, 4, 5};
int descendingArray[] = {5, 4, 3, 2, 1};
int equalArray[] = {2, 2, 2, 2, 2};
int mixedArray[] = {1, 3, 2, 4, 5};
osovrKamayuvchiOzaroTeng(ascendingArray, 5);
osovrKamayuvchiOzaroTeng(descendingArray, 5);
osovrKamayuvchiOzaroTeng(equalArray, 5);
osovrKamayuvchiOzaroTeng(mixedArray, 5);
return 0;
}

Inkapsulyatsiy
#include
#include
class Car {
private:
std::string model;
public:
Car(const std::string& m) : model(m) {}
std::string getModel() const {
return model;
}
void setModel(const std::string& m) {
model = m;
}
void drive() const {
std::cout << "Mashina yurmoqda." << std::endl;
}
};
int main() {
Car myCar("Toyota");

std::cout << "Moshina modeli: " << myCar.getModel() << std::endl;


myCar.setModel("Honda");
std::cout << "Yangilangan moshina modeli: " << myCar.getModel() << std::endl;
myCar.drive();
return 0;
}
POLIMARFIZM
#include
#include
class Transport {
public:
virtual void move() const = 0;
virtual ~Transport() {}
};
class Car : public Transport {
public:
void move() const override {
std::cout << "Moshina ketmoqda." << std::endl;
}
};
class Airplane : public Transport {
public:
void move() const override {
std::cout << "Samolyot uchmoqda." << std::endl;
}
};
int main() {
Transport* myTransport;
myTransport = new Car();
myTransport->move();
delete myTransport;
myTransport = new Airplane();
myTransport->move();
delete myTransport;

return 0;


}

Yüklə 39,14 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə