sonlar; // Ro'yhatda saqlanadigan sonlar
};
// Ro'yhatga N ta haqiqiy sonni qo'shish funksiyasi
void SonQoshish(Royhat &royhat, int son)
{
royhat.sonlar.push_back(son);
}
// Ro'yhatdagi barcha musbat sonlarni yig'indisini hisoblash funksiyasi
int Yigindi(Royhat &royhat)
{
int yigindi = 0;
for (int son : royhat.sonlar)
{
if (son > 0)
{
yigindi += son;
}
}
return yigindi;
}
int main() {
Royhat royhat;
// N ta haqiqiy sonni ro'yhatga qo'shish
int N;
cout << " N ni kiriting: ";
cin >> N;
for (int i = 0; i < N; ++i)
{
int son;
cout << " Haqiqiy son kiriting: ";
cin >> son;
SonQoshish(royhat, son);
}
// Barcha musbat sonlarni yig'indisini chiqarish
int yigindi = Yigindi(royhat);
cout << " Ro'yhatdagi barcha musbat sonlar yig'indisi: " << yigindi << endl;
return 0;
}
Natijasi:
Class yordamida
#include
using namespace std;
// Royhat elementini ifodalayuvchi klass
class RoyhatElement
{
public:
int qiymat; // Haqiqiy son
RoyhatElement* keyingisi; // Keyingi element
// Konstruktor
RoyhatElement(int qiymat) : qiymat(qiymat), keyingisi(nullptr) {}
};
// Royhat klassi
class Royhat
{
public:
RoyhatElement* bosh; // Ro‘yhat bosh elementi
// Konstruktor
Royhat() : bosh(nullptr) {}
// Ro‘yhatga yangi element qo‘shish metod
void qoshish(int qiymat)
{
RoyhatElement* yangiElement = new RoyhatElement(qiymat);
yangiElement->keyingisi = bosh;
bosh = yangiElement;
}
// Musbat elementlarni hisoblash va yig‘indisini qaytaruvchi metod
int musbatYigindisi() const
{
int yigindi = 0;
RoyhatElement* temp = bosh;
while (temp != nullptr)
{
if (temp->qiymat > 0)
{
yigindi += temp->qiymat;
}
temp = temp->keyingisi;
}
return yigindi;
}
};
int main()
{
Royhat royhat;
// N ta haqiqiy sonni ro‘yhatga qo‘shish
int N;
cout << " N ni kiriting: ";
cin >> N;
for (int i = 0; i < N; ++i)
{
int son;
cout << " Haqiqiy son kiriting: ";
cin >> son;
royhat.qoshish(son);
}
// Musbat elementlar yig‘indisini hisoblash va chiqarish
int musbatYigindi = royhat.musbatYigindisi();
cout << " Ro‘yhatdagi musbat elementlar yig‘indisi: " << musbatYigindi << endl;
return 0;
}
Natija: