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"); 
}