-
//eng qimmat narx bo’yicha sumkaga solish;
-
vector sumka;
-
int mSumka = 0;
-
int nSumka = 0;
-
for (int i=0;i<3;i++)
-
{
-
if(mSumka + mahsulot[i].massa <= 35)
-
{
-
mSumka+=mahsulot[i].massa;
-
nSumka+=mahsulot[i].narx;
-
sumka.push_back(mahsulot[i]);
-
}
-
}
-
//natijani ko'rish
-
cout<<"sumkada joylashtirilgan: "<
-
<<" kg. umumiy narxi "<
-
cout<<"-----------------------------------------------------"<
-
cout<<"sumkada joylashritilgan mahsulotlar: "<
-
for (int i=0;i
-
{
-
cout<
-
}
-
}
2-masala. -
Turli xil o’lchamga ega bo’lgan n ta qutini yuk mashinasiga joylashtirish haqidagi masalani xasislik algoritmlari bilan yeching. Qutilarni shunday joylashtiringki, bo’sh joydan maksimal foydalanib, iloji boricha ko’proq qutilarni joylashtiring. Bo’sh joy hajmi V ga teng va M kg gacha yuk olishi mumkin.
Dastur kodi -
Dastur kodi
-
#include
-
#include
-
using namespace std;
-
struct quti
-
{
-
int hajm;
-
int massa;
-
float zichlik;
-
};
-
-
int main()
-
{
-
//ma'lumotlarni kiritish;
-
vector quti1;
-
quti k;
-
int n;
-
cout<<"qutilar soni ";
-
cin>>n;
-
for(int i=0; i
-
{
-
cout<
-
cin>>k.hajm;
-
cin>>k.massa;
-
k.zichlik=1.0*k.massa/k.hajm;
-
quti1.push_back(k);
-
}
-
int M,V;
-
cout<<"Bo'sh joy massasini va hajmini kiriting ";
-
cin>>M;
-
cin>>V;
//zichlik bo'yicha saralash -
//zichlik bo'yicha saralash
-
for(int i=0; i
-
for(int j=i+1; j
-
if(quti1[i].zichlik>quti1[j].zichlik)
-
{
-
quti temp=quti1[i];
-
quti1[i]=quti1[j];
-
quti1[j]=temp;
-
}
-
//eng kichik zichlik bo'yicha joylashtirish;
-
vector joyZichlik;
-
int hzich = 0;
-
int mzich = 0;
-
for (int i=0;i
-
{
-
if(hzich + quti1[i].hajm <= V && mzich+quti1[i].massa<=M)
-
{
-
mzich+=quti1[i].massa;
-
hzich+=quti1[i].hajm;
-
joyZichlik.push_back(quti1[i]);
-
}
-
}
-
//natijani ko'rish
-
cout<<" joylashtirilgan: "<
-
cout<<"-----------------------------------------------------"<
-
cout<<"joylashritilgan qutilar: "<
-
for (int i=0;i
-
{
-
cout<
-
}}
205 -19 -TT 203-19-TT 204-19 TT
http://fayllar.org
Do'stlaringiz bilan baham: |