(Zadatak sa Republičkog takmičenja 2009.) Date su količine R vrste robe i veličine V vreća (R,V<=100). Količine robe i veličine vreća su date redom
od najmanje do najveće. Potrebno je što više vrsta robe spakovati u vreće, tako da se različite vrste
robe ne mješaju i da svaka roba bude u samo jednoj vreći. Napisati program koji učitava date podatke i
ispisuje koliko se najviše vrsta robe mođe spakovati na ovaj način.
Primjer: Ulaz: R=5, robe: 1, 3, 5, 7, 9; V=3, vreće: 2, 3, 4; Izlaz:2
Ulaz: R=4, robe: 5, 7, 9, 11; V=5, vreće: 4, 5, 6, 7, 10; Izlaz:3
Rješenje:
#include<iostream.h>
main () {
int roba[100], vreca[100],r,v,i,j;
cout<< " Roba ";
cin >> r;
for (i=0;i<r;i++) cin>> roba[i];
cout<<" Vrece ";
cin>> v;
for (i=0;i<v;i++) cin>> vreca[i];
i=0; j=0;
while ((i<r)&&(j<v)){
while ((j<v) && (roba[i]>vreca[j])) j++;
if (j<v) { i++; j++;}
}
cout << i << endl;
system("Pause");
}
od najmanje do najveće. Potrebno je što više vrsta robe spakovati u vreće, tako da se različite vrste
robe ne mješaju i da svaka roba bude u samo jednoj vreći. Napisati program koji učitava date podatke i
ispisuje koliko se najviše vrsta robe mođe spakovati na ovaj način.
Primjer: Ulaz: R=5, robe: 1, 3, 5, 7, 9; V=3, vreće: 2, 3, 4; Izlaz:2
Ulaz: R=4, robe: 5, 7, 9, 11; V=5, vreće: 4, 5, 6, 7, 10; Izlaz:3
Rješenje:
#include<iostream.h>
main () {
int roba[100], vreca[100],r,v,i,j;
cout<< " Roba ";
cin >> r;
for (i=0;i<r;i++) cin>> roba[i];
cout<<" Vrece ";
cin>> v;
for (i=0;i<v;i++) cin>> vreca[i];
i=0; j=0;
while ((i<r)&&(j<v)){
while ((j<v) && (roba[i]>vreca[j])) j++;
if (j<v) { i++; j++;}
}
cout << i << endl;
system("Pause");
}