mam problem z programem ktory ma "zapakowac plecak" w tytule jego angielska nazwa. polega to na tym ze do plecaka wkladamy rozne przedmioty ktore maja pewna wartosc oczywiscie ma on ograniczona ladownosc i program ma wybrac te najbardziej wartosciowe i tak go zaladowac aby bylo to jak najbardziej optymalne. dolaczam to co sam naskrobalem prawda jest tego bardzo malo no ale nie oszukujmy sie wiele nie umiem z c a musze to zaliczyc wiec prosze o pomoc :P
#include <iostream>
#include <algorithm>
using namespace std;
const int MAX = 10;
int main ()
{
int ladownosc;
int przedmiot;
int LiczbaPrzedmiotow;
int licznik;
int i;
int k;
int n=10;
float elem;
float masa[MAX];
float cena[MAX];
float wartosc[MAX]; //cena:masa
string Przedmioty[MAX];
cout << "Podaj ladownosc plecaka" << endl;
cin >> ladownosc ;
cout << "Podaj ilosc przedmiotow"<< endl;
cin >> LiczbaPrzedmiotow;
for(int licznik=1; licznik<=LiczbaPrzedmiotow; licznik++)
{
cout << "\n Podaj przedmiot " << licznik << " : " ;
cin>>Przedmioty[licznik-1];
cout << "\n\n Podaj mase przedmiotu " << Przedmioty[licznik-1] << " : " ;
cin>>masa[licznik-1];
cout << "\n\n Podaj cene przedmiotu " << Przedmioty[licznik-1] << " : " ;
cin>>cena[licznik-1];
cout << " ----------------------- "<<endl;
wartosc[licznik-1]=cena[licznik-1]/masa[licznik-1];
}
cout << "przedmioty i ich masa" <<endl;
cout << " ----------------------- "<<endl;
for(int licznik=1; licznik<=LiczbaPrzedmiotow; licznik++)
{
cout << "\n przedmiot " << licznik << " : " ;
cout <<Przedmioty[licznik-1];
cout << "\n\n Masa przedmiotu " << Przedmioty[licznik-1] << " : " ;
cout <<masa[licznik-1];
cout << "\n\n Cena przedmiotu " << Przedmioty[licznik-1] << " : " ;
cout <<cena[licznik-1];
cout << "\n\n Wartosc przedmiotu " << Przedmioty[licznik-1] << " : " ;
cout <<wartosc[licznik-1] << endl;
cout << " ----------------------- "<<endl;
}
for(i=1;i<n;i++) /// sortowanie wartosci od najwiekszej do najmniejszej
{
elem=wartosc[i];
k=i-1;
while(k>=0 && wartosc[k]<elem)
{
wartosc[k+1]=wartosc[k];
k--;
}
wartosc[k+1]=elem;
}
for(i=0;i<LiczbaPrzedmiotow;i++)
cout<<wartosc[i]<<endl;
/* w tym kroku chcialem zrobic tak aby z posegregowanej wczesniej tablicy pierwszy element(ten jabardziej wartosciowy)
byl odejmowany od ladownosci plecaka no ale nie dziala i nie mam zielonego pojecia jak to zrobic*/
system("pause");
}