#include <iostream> #include <cstdlib> //Algorytm zachlanny pakowania plecaka using namespace std; int main() { int i, n, waga; cout <<"podaj liczbe elementów do spakowania"; cin >>n; cout <<"podaj max wage plecaka"; cin >>waga; int P[n], W[n]; double POM[n]; // ====== wczytywanie do tablic ================== for (i=0; i<n; i++) { cout <<"Podaj wielkosc przedmiotu: " ; cin>>P[i]; cout<<endl<<"Podaj wage przedmiotu: " ; cin >> W[i]; POM[i]=(double)P[i]/W[i]; cout<<endl; } // ========koniec wczytywania =========================== // ========= Sortowanie elementow od najwiekszego P[i]/W[i] ======== int p1, p2; double p3; for (i=0; i<n; i++) { for (int j=0; j<n;j++) if (POM[i]>POM[j]) { p1=P[i]; p2=W[i]; p3=POM[i]; P[i]=P[j]; W[i]=W[j]; POM[i]=POM[j]; P[j]=p1; W[j]=p2; POM[j]=p3; } } // ========== koniec sortowania ============ // ========== wypisz uporzadkowane ======== cout<<"wielkosc \t waga \t wielkosc/waga"<<endl; for (i=0; i<n; i++) { cout<<P[i]<<" "<<W[i]<<"\t"<<POM[i]<<endl; } // Pakowanie do plecaka ================ for (i=0; i<n; i++) { if (waga>W[i]) { cout <<"spakowano przedmiot o wielkości: "<< P[i]<<"i wadze: " <<W[i]<<endl; waga=waga-W[i]; } }