Harjoitukset viikkoharjoitussessioon 8¶
Tehtävä 1¶
Tässä harjoituksessa sinulle annetaan vektori places, jonka alkiot ovat
tyyppiä struct Place{ int x; int y; string name; }. Tehtävänäsi on
mukauttaa saatavilla olevia STL-algoritmeja suorittamaan seuraavat toiminnot:
- Järjestä vektorin
placesalkiot seuraavien kriteerien mukaisesti:- ensin nousevaan järjestykseen x-koordinaatin perusteella,
- sitten nousevaan järjestykseen y-koordinaatin perusteella, jos kahdella alkiolla on samat x-koordinaatit,
- ja lopuksi sanakirjajärjestykseen nimen perusteella, jos sekä x- että y-koordinaatit ovat samat.
- Järjestä vektorin
placesalkiot seuraavien kriteerien mukaisesti:- ensin niiden etäisyyden perusteella origosta {0,0} nousevaan järjestykseen
- ja sitten sanakirjajärjestykseen nimen perusteella, jos etäisyydet origosta ovat samat.
- Luo uusi vektori
nearby1, joka sisältää kaikki ne alkiot, joiden etäisyys origosta on välillä 10 ja 20. - Luo uusi vektori
nearby1, joka sisältää kaikki ne alkiot, joiden etäisyys origosta on välillä low ja high, missä low ja high ovat käyttäjän antamia parametreja. - Poista ne alkiot vektorista
places, jotka sisältävät merkkijonon “Unlisted” nimessään tai joiden x- tai y-koordinaatti on alle 1.
Bonus: Kuinka monta vertailua tehdään järjestämiseen kohdissa a ja b?