Multicriteria bike selection

How to select the right bike among many is not always an easy choice. If you went into a bike store, you have probably seen a large variety of bikes addressing different people and needs. It is especially hard for a non-technical person to make sense of what they see, let alone select the right bike without human help.

Bikes often exist in a given environment: there are fullsuspension, hardtail, road, trekking and other variants. An attempt to use a bike which is not right for the environment may lead to suboptimal results.

Some bike providers seem to offer their clients software to show a reduced number of bikes according to some predefined criteria. While this solution works, it makes for a very complex interface, if every detail of a the bike can be preselected. A person which comes with very concrete requirements would also have to look at interface elements not directly related to what they seek. If a bike consists of 25 important parts, then they might want to have any particuar combination. The nice thing about the web interface is that it can provide immediate feedback, showing an image of each bike of interest.

But sometimes an interface can stand in the way of accessing information in all its richness. It is possible to allow any combination of search criteria without even using database queries. The added bonus is that no client-server communication happens, because the data can be kept in a file (which would be used anyway if we wanted to fill a database table). This allows an employee at the bike store to manually input any specific requirement and see which bikes could be of interest for the client before seeking their location in the warehouse.

Below you can see an example of selecting BULLS bikes by different criteria—through fast, modern code. The bike information has been simplified, mainly for reasons of consistency. It is interesting to observe that the technical descriptions of the bikes can omit important data, which makes its proper alignment especially hard when many intances are available. For this reason, I have excluded data about the parts like fork, handle, saddle etc., but if it was consistently available, there would be no obstacle to integrate it into the bike search.

#include <iostream> #include <vector> #include <map> #include <string> #include <algorithm> using namespace std; struct Bike { string name; string category; string area_of_use; string frame; vector<int> frame_sizes_cm; double weight; double wheel_size; string tires; string rider; vector<string> colors; string item_number; double price_euro; }; int main() { vector<Bike> bikes = { { "WILD EDGE TEAM 29", "Fullsuspension", "XC--Marathon--Tour", "carbon fibre, monocoque", {46, 51, 56}, 10.3, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"white matt", "carbon UD matt"}, "562-73846", 5999 }, { "WILD EDGE 29", "Fullsuspension", "XC--Marathon--Tour", "carbon fibre, monocoque", {46, 51, 56}, 11.3, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25/Schwalbe Thunder Burt 29 x 2.25", "Male", {"white matt", "carbon UD matt"}, "562-73246", 3999 }, { "WILD FLOW 2", "Fullsuspension", "XC--Marathon--Tour", "6061 superlite aluminium, triple butted, smooth welded", {46,51,56}, 13.1, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"black matt", "white"}, "562-82646", 2799 }, { "WILD FLOW 1", "Fullsuspension", "XC--Marathon--Tour", "6061 superlite aluminium, triple butted, smooth welded", {46,51,56}, 13.6, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"black matt", "grey", "yellow"}, "562-82446", }, { "BLACK ADDER TEAM 29", "Hardtail", "XC--Marathon--Tour", "carbon fibre, monocoque", {41,44,48,54}, 8.9, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25/Schwalbe Thunder Burt 29 x 2.25", "Male", {"white matt", "carbon UD matt"}, "562-80841", 4799 }, { "BLACK ADDER SL", "Hardtail", "XC--Marathon--Tour", "carbon fibre, monocoque", {41,44,48,54}, 7.9, 29, "Schwalbe Thunder Burt 29 x 2.10", "Male", {"carbon UD matt"}, "562-80641", 3999 }, { "BLACK ADDER 29", "Hardtail", "XC--Marathon--Tour", "carbon fibre, monocoque", {41,44,48,54}, 9.7, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"white matt", "carbon UD matt"}, "562-80441", 3499 }, { "BUSHMASTER 29 SL", "Hardtail", "XC--Marathon--Tour", "carbon fibre, monocoque", {41,44,48,54}, 8.9, 29, "Schwalbe Thunder Burt 29 x 2.10", "Male", {"carbon matt"}, "562-80241", 2999 }, { "BUSHMASTER 29", "Hardtail", "XC--Marathon--Tour", "carbon fibre, monocoque", {41,44,48,54}, 9.9, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"carbon matt"}, "562-80041", 2499 }, { "COPPERHEAD CARBON 29 RS", "Hardtail", "XC--Marathon--Tour", "carbon fibre, monocoque", {41,46,51,56}, 10.8, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"white matt","carbon UD matt"}, "562-26441", 1999 }, { "TIRONE 29", "Hardtail", "XC--Marathon--Tour", "Aerospace grade 3AL/2.5V titanium", {44,48,54}, 10.8, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"titan"}, "562-84244", 3999 }, { "COPPERHEAD 29 RSI", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56,61}, 11.5, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"grey", "black matt"}, "562-25841", 1799 }, { "COPPERHEAD 29 RS", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56,61}, 11.4, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"black matt", "white"}, "562-25241", 1599 }, { "COPPERHEAD 29 S", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56,61}, 11.9, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"grey matt","black"}, "562-24641", 1499 }, { "COPPERHEAD 29", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56,61}, 11.6, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"black matt", "blue matt", "black matt", "white matt"}, "562-24041, 562-24141", 1299 }, { "COPPERHEAD 29 SUPREME", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56,61}, 13.3, 29, "Schwalbe Rapid Rob 29 x 2.25", "Male", {"black matt", "grey", "black matt", "white matt"}, "562-22841, 562-22941", 1199 }, { "COPPERHEAD 29 LT", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56,61}, 13.6, 29, "Schwalbe Rapid Rob 29 x 2.25", "Male", {"black matt","blue matt", "dark blue matt", "white"}, "562-21641, 562-21741", 999.95 }, { "KING COBRA DISC 29", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 15.2, 29, "Schwalbe Rapid Rob 29 x 2.25", "Male", {"grey matt", "orange", "black matt", "white matt"}, "562-21141, 562-21041", 899.95 }, { "BUSHTAIL 29", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 14.3, 29, "Schwalbe Rapid Rob 29 x 2.25", "Male", {"black matt"}, "562-20441", 799.95 }, { "SHARPTAIL 3 DISC 29", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 15.8, 29, "STYX Ace of Pace 29 x 2.25", "Male", {"red matt", "white", "black matt"}, "562-18041, 562-18141, 562-18241", 699.95 }, { "SHARPTAIL 2 DISC 29", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 15.5, 29, "STYX Ace of Pace 29 x 2.25", "Male", {"blue matt", "black matt", "white matt", "grey matt"}, "562-17441, 562-17541, 562-17641", 599.95 }, { "SHARPTAIL 1 DISC 29", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 15.5, 29, "STYX Ace of Pace 29 x 2.25", "Male", {"black matt", "orange matt"}, "562-16841, 562-16941", 549.95 }, { "WILDTAIL 29", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 14.5, 29, "STYX Ace of Pace 29 x 2.25", "Male", {"black matt", "neon red matt", "black matt", "white matt"}, "562-16241, 562-16341", 499.95 }, { "TIRONE 27,5", "Hardtail", "XC--Marathon--Tour", "Aerospace grade 3AL/2.5V titanium", {44,48,54}, 10.6, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.25", "Male", {"titan"}, "562-84044", 3999 }, { "COPPERHEAD 3 RSI", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56}, 11.4, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.25", "Male", {"grey","black matt"}, "562-13841", 1499 }, { "COPPERHEAD 3 RS", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56}, 11.3, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.25", "Male", {"black matt", "white"}, "562-12641", 1399 }, { "COPPERHEAD 3 S", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56}, 11.7, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.25", "Male", {"black matt", "white", "grey matt", "black"}, "562-12041, 562-12141", 1199 }, { "COPPERHEAD 3", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56}, 11.5, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.25", "Male", {"black matt", "white", "black matt", "grey matt"}, "562-11441, 562-11541", 999.95 }, { "KING COBRA DISC 27,5", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 13.9, 27.5, "Schwalbe Rapid Rob 27,5 x 2.25", "Male", {"black matt", "white matt", "grey matt", "orange"}, "562-07841, 562-08041", 899.95 }, { "BUSHTAIL 27,5", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 14.1, 27.5, "Schwalbe Rapid Rob 27,5 x 2.25", "Male", {"black matt"}, "562-07241", 799.95 }, { "SHARPTAIL 3 DISC 27,5", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 14.9, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Male", {"black matt", "red matt", "white"}, "562-06141, 562-06041, 562-06241", 699.95 }, { "SHARPTAIL 2 DISC 27,5", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 15.3, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Male", {"grey matt", "black matt", "white matt", "blue matt"}, "562-05541, 562-05441, 562-05641", 599.95 }, { "SHARPTAIL 1 DISC 27,5", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 15.9, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Male", {"orange matt", "black matt"}, "562-04941, 562-04841", 549.95 }, { "WILDTAIL 27,5", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 14.7, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Male", {"black matt", "neon red matt", "black matt", "green matt", "blue matt"}, "562-04241, 562-04341, 562-04441", 499.95 }, { "WILDTAIL", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {37,41,46,51,56}, 14.3, 26, "STYX Ace of Pace 26 x 2.25", "Male", {"blue matt", "black matt"}, "562-00937, 562-00837", 499.95 }, { "PULSAR ECO DISC", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {37,41,46,51,56}, 14.4, 26, "STYX Ace of Pace 26 x 2.25", "Male", {"neon green"}, "562-00637", 499.50 }, { "PULSAR 27,5", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {41,46,51,56}, 13.9, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Male", {"blue matt", "neon green", "grey matt"}, "562-03741, 562-03641, 562-03841", 449.95 }, { "PULSAR", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {37,41,46,51,56}, 13.9, 26, "STYX Ace of Pace 26 x 2.25", "Male", {"neon green", "blue matt", "grey matt"}, "562-00337, 562-00237, 562-00437", 449.95 }, { "PULSAR ECO", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {37,41,46,51,56}, 14.2, 26, "STYX Ace of Pace 26 x 2.25", "Male", {"neon green"}, "562-00037", 399.95 }, { "DURO", "Hardtail", "All Mountain--Enduro", "7005 superlite aluminium, triple butted, smooth welded", {38,44}, 12.7, 27.5, "Schwalbe Nobby Nic Snake Skin 27,5 x 2.80", "Male", {"black matt", "orange"}, "562-15638", 2799 }, { "COPPERHEAD RS+", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56}, 12.4, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.80", "Male", {"dark blue matt", "neon green matt"}, "562-15041", 1699 }, { "COPPERHEAD S+", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56}, 12.9, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.80", "Male", {"black matt", "white matt"}, "562-10241", 1499 }, { "COPPERHEAD+", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {41,46,51,56}, 12.6, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.80", "Male", {"black matt", "blue"}, "562-09641", 1299 }, { "MONSTER FS", "Fullsuspension", "Fat Bike", "7005 aluminium", {46,51}, 17.6, 26, "Schwalbe Jumbo Jim Snake Skin 26 x 4.0", "Male", {"black matt", "white matt"}, "562-64246", 2299 }, { "MONSTER RS", "Hardtail", "Fat Bike", "7005 aluminium", {46,51}, 14.9, 26, "Schwalbe Jumbo Jim Snake Skin 26 x 4.0", "Male", {"black matt", "blue matt"}, "562-64846", 2299 }, { "MONSTER S", "Hardtail", "Fat Bike", "7005 aluminium", {46,51}, 14.9, 26, "Schwalbe Jumbo Jim Snake Skin 26 x 4.0", "Male", {"neon yellow matt", "black matt"}, "562-63646", 1799 }, { "MONSTER", "Hardtail", "Fat Bike", "7005 aluminium", {46,51}, 14.9, 26, "Schwalbe Jumbo Jim Snake Skin 26 x 4.0", "Male", {"neon yellow matt", "black matt"}, "562-63046", 1499 }, { "WILD RUSH 2", "Fullsuspension", "All Mountain--Enduro", "6061 superlite aluminium, double butted, smooth welded", {39,44,49,54}, 13.9, 29, "Schwalbe Nobby Nic Snake Skin 29 x 2.35", "Male", {"black matt/yellow/grey"}, "562-83439", 2999 }, { "WILD RUSH 1+", "Fullsuspension", "All Mountain--Enduro", "6061 superlite aluminium, double butted, smooth welded", {39,44,49,54}, 14.8, 27.5, "Schwalbe Nobby Nic Snake Skin 27,5 x 2.80", "Male", {"black matt", "red", "white"}, "562-83239", 2799 }, { "WILD RUSH 1", "Fullsuspension", "All Mountain--Enduro", "6061 superlite aluminium, double butted, smooth welded", {39,44,49,54}, 14.3, 29, "Schwalbe Nobby Nic Snake Skin 29 x 2.35", "Male", {"black matt", "green", "blue", "grey"}, "562-83039", 2799 }, { "WILD MOJO 3", "Fullsuspension", "All Mountain--Enduro", "6061 superlite aluminium, double butted, smooth welded", {39,44,49,54}, 13.8, 27.5, "Schwalbe Nobby Nic Snake Skin 27,5 x 2.25", "Male", {"black matt", "blue", "white"}, "562-81439", 3299 }, { "WILD MOJO 2", "Fullsuspension", "All Mountain--Enduro", "6061 superlite aluminium, double butted, smooth welded", {39,44,49,54}, 13.9, 27.5, "Schwalbe Nobby Nic Snake Skin 27,5 x 2.25", "Male", {"brushed", "black matt", "red matt"}, "562-81239", 2999 }, { "WILD MOJO 1", "Fullsuspension", "All Mountain--Enduro", "6061 superlite aluminium, double butted, smooth welded", {39,44,49,54}, 14.1, 27.5, "Schwalbe Nobby Nic Snake Skin 27,5 x 2.25", "Male", {"black matt", "green matt"}, "562-81039", 2499 }, { "WILD CUP 3", "Fullsuspension", "All Mountain--Enduro", "7005 aluminium, triple butted", {39,44,49,54}, 13.9, 27.5, "Schwalbe Nobby Nic Snake Skin 27,5 x 2.35", "Male", {"black matt","grey","red", "grey matt"}, "562-72639, 562-72739", 1999 }, { "WILD CUP 2", "Fullsuspension", "All Mountain--Enduro", "7005 aluminium, triple butted", {39,44,49,54}, 14.6, 27.5, "Schwalbe Nobby Nic Snake Skin 27,5 x 2.35", "Male", {"black matt", "grey", "cyan", "magenta matt"}, "562-71439, 562-71539", 1599 }, { "WILD ONE", "Fullsuspension", "All Mountain--Enduro", "7005 aluminium, triple butted", {41,46,51,56}, 15.3, 27.5, "Schwalbe Smart Sam 27,5 x 2.25", "Male", {"blue matt", "neon red", "black matt", "grey"}, "562-70341, 562-70241", 1299 }, { "JILLAROO", "Fullsuspension", "All Mountain--Enduro", "7005 aluminium", {41,46,51}, 15.5, 27.5, "Schwalbe Smart Sam 27,5 x 2.25", "Female", {"white", "black matt"}, "562-70841", 1299 }, { "AMINGA+", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {37,41,46,51}, 13.2, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.8", "Female", {"black matt", "white"}, "562-38737", 1299 }, { "AMINGA 29", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {37,41,46,51}, 12.1, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Female", {"black matt","white"}, "562-39637", 1499 }, { "AMINGA 27,5", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {37,41,46,51}, 11.5, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.25", "Female", {"black matt", "white"}, "562-39037", 1499 }, { "AMINGA 29 LT", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {37,41,46,51}, 13.9, 29, "Schwalbe Rapid Rob 29 x 2.25", "Female", {"dark purple matt", "orange matt"}, "562-38437", 999.95 }, { "AMINGA 27,5 LT", "Hardtail", "XC--Marathon--Tour", "7005 superlite aluminium, triple butted, smooth welded", {37,41,46,51}, 13.7, 27.5, "Schwalbe Rapid Rob 27,5 x 2.25", "Female", {"white"}, "562-37837", 999.95 }, { "JINGA 29", "Hardtail", "XC--Marathon--Tour", "7005 lite aluminium, triple butted", {37,41,46,51}, 14.1, 29, "Schwalbe Rapid Rob 27,5 x 2.25", "Female", {"light blue matt", "white"}, "562-37237", 899.95 }, { "JINGA 27,5", "Hardtail", "XC--Marathon--Tour", "7005 lite aluminium, triple butted", {37,41,46,51}, 13.9, 27.5, "Schwalbe Rapid Rob 27,5 x 2.25", "Female", {"black matt", "white"}, "562-36637", 899.95 }, { "VANIDA DISC 29", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {37,41,46,51}, 15.5, 29, "STYX Ace of Pace 29 x 2.25", "Female", {"black matt", "white matt", "lucite green", "orange matt"}, "562-36037, 562-36137", 699.95 }, { "VANIDA DISC 27,5", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {37,41,46,51}, 15.3, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Female", {"lucite green", "orange matt", "black matt", "white matt"}, "562-35537, 562-35437", 699.95 }, { "ZARENA 27,5", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {37,41,46,51}, 14.9, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Female", {"white", "dark purple matt"}, "562-33037, 562-33137", 699.95 }, { "NANDI 27,5", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {37,41,46,51}, 13.9, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Female", {"purple matt", "white"}, "562-31937, 562-31837", 499.95 }, { "NANDI", "Hardtail", "XC--Marathon--Tour", "7005 aluminium", {37,41,46,51}, 13.9, 26, "STYX Ace of Pace 26 x 2.25", "Female", {"white", "purple matt"}, "562-31237, 562-31337", 499.95 }, { "SHARPTAIL STREET 3 DISC 29", "Hardtail", "MTB Street", "7005 aluminium", {41,46,51,56}, 16.9, 29, "STYX Ace of Pace 29 x 2.25", "Male", {"black matt", "blue matt"}, "562-58241, 562-58341", 699.95 }, { "SHARPTAIL STREET 2 DISC 29", "Hardtail", "MTB Street", "7005 aluminium", {41,46,51,56}, 16.9, 29, "STYX Ace of Pace 29 x 2.25", "Male", {"black matt/red", "black matt", "blue matt/neon red", "blue matt/neon green matt"}, "562-45541, 562-45641, 562-45741, 562-45841", 599.95 }, { "SHARPTAIL STREET 2 29", "Hardtail", "MTB Street", "7005 aluminium", {41,46,51,56}, 16.9, 29, "STYX Ace of Pace 29 x 2.25", "Male", {"black matt/white"}, "562-53437", 699.95 }, { "SHARPTAIL STREET 3 DISC 27,5", "Hardtail", "MTB Street", "7005 aluminium", {41,46,51,56}, 16.7, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Male", {"blue matt", "black matt"}, "562-57741, 562-57641", 699.95 }, { "SHARPTAIL STREET 2 DISC 27,5", "Hardtail", "MTB Street", "7005 aluminium", {41,46,51,56}, 16.8, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Male", {"black matt", "blue matt/neon red"}, "562-44441, 562-44541", 599.95 }, { "SHARPTAIL STREET 2 27,5", "Hardtail", "MTB Street", "7005 aluminium", {41,46,51,56}, 16.8, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Male", {"black mat/whitet"}, "562-52237", 699.95 }, { "SHARPTAIL STREET 1 27,5", "Hardtail", "MTB Street", "", {37,41,46,51,56}, 15.7, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Male", {"blue matt/green matt", "black matt/white matt", "black matt/blue matt"}, "562-42037, 562-42137, 562-42237", 599.95 }, { "SHARPTAIL STREET 1 27,5-2", "Hardtail", "MTB Street", "7005 aluminium", {41,46,51}, 15.7, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Female", {"black matt/white, white"}, "562-51641, 562-51741", 599.95 }, { "PULSAR STREET", "Hardtail", "MTB Street", "7005 aluminium", {37,41,46,51,56}, 15.4, 26, "Kenda", "Male", {"black matt"}, "562-48637", 549.95 }, { "SHARPTAIL STREET 1", "Hardtail", "MTB Street", "7005 aluminium", {37,41,46,51,56}, 15.2, 26, "Kenda", "Male", {"blue matt/green matt", "black matt/white matt", "black matt/blue matt"}, "562-41037, 562-40837, 562-40937", 499.95 }, { "ZARENA STREET 27,5", "Hardtail", "MTB Street", "7005 aluminium", {37,41,46,51}, 16.2, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Female", {"lucite green matt/orange matt"}, "562-56437", 699.95 }, { "NANDI STREET 27,5", "Hardtail", "MTB Street", "7005 aluminium", {37,41,46,51}, 14.6, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Female", {"black matt", "green matt"}, "562-55237, 562-55337", 599.95 }, { "WILD CORE TEAM", "Fullsuspension", "Freeride--Downhill", "6061 superlite aluminium", {40,41,42}, 17.3, 27.5, "Schwalbe Magic Mary 27,5 x 2.35", "Male", {"black matt/white"}, "562-82202", 4799 }, { "WILD CORE", "Fullsuspension", "Freeride--Downhill", "6061 superlite aluminium", {40,41,42}, 17.9, 27.5, "Schwalbe Magic Mary 27,5 x 2.35", "Male", {"black matt/neon green matt/blue"}, "562-82002", 3499 }, { "WILD CREED TEAM", "Fullsuspension", "All Mountain--Enduro", "6061 superlite aluminium", {39,44,49,54}, 13.9, 27.5, "Schwalbe Hans Dampf SnakeSkin 27,5 x 2.35", "Male", {"black matt/white/yellow/blue"}, "562-81839", 3999 }, { "WILD CREED", "Fullsuspension", "All Mountain--Enduro", "6061 superlite aluminium", {39,44,49,54}, 14.5, 27.5, "Schwalbe Hans Dampf SnakeSkin 27,5 x 2.35", "Male", {"blue/blue", "matt/black matt"}, "562-81639", 2999 }, { "WILD ACE", "Hardtail", "Dirt Jump--BMX", "7005 aluminium", {32}, 12.7, 26, "Schwalbe Table Top 26 x 2.25", "Male", {"raw matt/black matt", "black matt"}, "562-72032, 562-72132", 1799 }, { "STONECOLD", "Hardtail", "Dirt Jump--BMX", "7005 aluminium", {32}, 11.4, 26, "Schwalbe Table Top 26 x 2.25", "Male", {"white"}, "562-61232", 1299 }, { "DEVILZONE 2", "Hardtail", "Dirt Jump--BMX", "", {37,41}, 15.4, 26, "STYX Black Basterd 26 x 2.25", "Male", {"brushed alu matt"}, "562-60637", 699.95 }, { "DEVILZONE 1", "Hardtail", "Dirt Jump--BMX", "7005 aluminium", {37,41,46}, 15.6, 26, "STYX Black Basterd 26 x 2.25", "Male", {"blue"}, "562-60037", 599.95 }, { "POPE STREET", "Hardtail", "Dirt Jump--BMX", "Full CR.-MO., double butted", {24}, 11.3, 20, "VEE Rubber", "Male", {"grey matt"}, "565-44200", 679.95 }, { "NOVICE", "Hardtail", "Dirt Jump--BMX", "Full Hi-Ten", {24}, 11.8, 20, "VEE Rubber", "Male", {"black matt"}, "565-42400", 499.95 }, { "NOVICE LSD", "Hardtail", "Dirt Jump--BMX", "Full Hi-Ten", {24}, 11.8, 20, "VEE Rubber", "Male", {"green"}, "565-42500", 499.95 }, { "BARBAR", "Hardtail", "Dirt Jump--BMX", "Full Hi-Ten", {24}, 13.3, 20, "Kenda", "Male", {"blue"}, "565-41200", 399.95 }, { "TWENTY9 E FS 3 RS", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 22.3, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"black matt/white"}, "568-08846", 3999 }, { "TWENTY9 E FS 3", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 22.5, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"black matt/white"}, "568-08646", 3499 }, { "TWENTY9 E 3 RSI", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 20.2, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"grey/black matt"}, "568-08446", 3499 }, { "TWENTY9 E 3", "E-Bike", "E-Bike", "7005 aluminium", {41,46,51,56}, 21.9, 29, "Schwalbe Rapid Rob 29 x 2.25", "Male", {"black/grey matt", "white matt/grey matt"}, "568-08246, 568-08346", 2999 }, { "TWENTY9 E 2", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 22.2, 29, "Schwalbe Rapid Rob 29 x 2.25", "Male", {"black matt/white/blue", "white/black/neon green"}, "568-07846, 568-07946", 2699 }, { "TWENTY9 E 1.5", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 21.5, 29, "Schwalbe Rapid Rob 29 x 2.25", "Male", {"grey matt", "blue/black"}, "568-07646, 568-07746", 2399 }, { "TWENTY9 E 1", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 21.5, 29, "STYX Ace of Pace 29 x 2.25", "Male", {"black matt", "blue matt/neon red"}, "568-07446, 568-07546", 2199 }, { "SIX50 E FS 3 RSI", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 21.9, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.25", "Male", {"black matt/white"}, "568-06646", 3999 }, { "SIX50 E 3 RSI", "E-Bike", "E-Bike", "7005 aluminium", {41,46,51,56}, 20.4, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.25", "Male", {"grey/black matt"}, "568-06241", 3499 }, { "SIX50 E 3", "E-Bike", "E-Bike", "7005 aluminium", {41,46,51,56}, 21.5, 27.5, "Schwalbe Rapid Rob 27,5 x 2.25", "Male", {"black/grey matt", "grey matt/white/neon red"}, "568-06041, 568-06141", 2999 }, { "SIX50 E 2", "E-Bike", "E-Bike", "7005 aluminium", {41,46,51,56}, 22.1, 27.5, "Schwalbe Rapid Rob 27,5 x 2.25", "Male", {"black matt/white/neon yellow", "black matt/white/blue"}, "568-05741, 568-05641", 2699 }, { "SIX50 E 1.5", "E-Bike", "E-Bike", "7005 aluminium", {41,46,51,56}, 21.7, 27.5, "Schwalbe Rapid Rob 27,5 x 2.25", "Male", {"grey matt", "blue", "black matt/green"}, "568-04641, 568-04741, 568-04841", 2399 }, { "SIX50 E 1.5 STREET", "E-Bike", "E-Bike", "7005 aluminium", {41,46,51,56}, 23.9, 27.5, "Schwalbe Rapid Rob 27,5 x 2.25", "Male", {"black matt/blue"}, "568-46841", 2699 }, { "SIX50 E 1", "E-Bike", "E-Bike", "7005 aluminium", {41,46,51,56}, 21.8, 27.5, "Kenda 27,5 x 2.25", "Male", {"black matt", "blue matt/neon red"}, "568-05041, 568-05146", 2199 }, { "AMINGA E 2", "E-Bike", "E-Bike", "7005 aluminium", {37,41,46}, 21.9, 27.5, "Schwalbe Rapid Rob 27,5 x 2.25", "Female", {"black matt/white"}, "568-05837", 2699 }, { "AMINGA E 1.5", "E-Bike", "E-Bike", "7005 aluminium", {37,41,46}, 21.7, 27.5, "Schwalbe Rapid Rob 27,5 x 2.25", "Female", {"light blue matt"}, "568-05537", 2399 }, { "AMINGA E 1", "E-Bike", "E-Bike", "7005 aluminium", {37,41,46}, 21.5, 27.5, "STYX Ace of Pace 27,5 x 2.25", "Female", {"lucite green matt"}, "568-05237", 2199 }, { "MONSTER E FS", "E-Bike", "E-Bike", "7005 aluminium", {46,51}, 25.1, 26, "Schwalbe Jumbo Jim Snake Skin 26 x 4.0", "Male", {"black/neon", "yellow matt"}, "568-09646", 4199 }, { "MONSTER E S", "E-Bike", "E-Bike", "7005 aluminium", {46,51}, 23.3, 26, "Schwalbe Jumbo Jim Snake Skin 26 x 4.0", "Male", {"black/grey matt"}, "568-09446", 3699 }, { "MONSTER E", "E-Bike", "E-Bike", "7005 aluminium", {46,51}, 23.1, 26, "Schwalbe Jumbo Jim Snake Skin 26 x 4.0", "Male", {"black matt/blue"}, "568-09246", 3199 }, { "CROSS LITE E", "E-Bike", "E-Bike", "7005 aluminium", {48,53,58,61}, 20.9, 28, "Schwalbe Marathon Racer, 40-622", "Male", {"black matt/white"}, "569-00448", 3199 }, { "CROSSRIDER E", "E-Bike", "E-Bike", "7005 aluminium", {48,53,58,61}, 22.2, 28, "Schwalbe Marathon Racer, 40-622", "Male", {"black matt/grey"}, "569-00048", 2699 }, { "STURMVOGEL E AUTOMATIC", "E-Bike", "E-Bike", "7005 aluminium", {41,46,51,56}, 22.3, 26, "Schwalbe Fat Frank 26 x 2.35", "Male", {"grey"}, "569-00841", 2999 }, { "STURMVOGEL E", "E-Bike", "E-Bike", "7005 aluminium", {41,46,51,56}, 22.3, 26, "Schwalbe Fat Frank 26 x 2.35", "Male", {"white"}, "569-01041", 2799 }, { "TWENTY6 E", "E-Bike", "Kids", "7005 aluminium", {37}, 22.25, 26, "Schwalbe Black Jack 26 x 1.90", "Boy/Girl", {"black matt/green"}, "568-04437", 2199 }, { "TWENTY4 E", "E-Bike", "Kids", "7005 aluminium", {32}, 21.5, 24, "Schwalbe Black Jack 24 x 1.90", "Boy/Girl", {"black matt/green"}, "568-04332", 2199 }, { "E-STREAM EVO 3 SL 29", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 21.7, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"black matt/orange matt"}, "569-69146", 7199 }, { "E-STREAM EVO FS 3 27,5+", "E-Bike", "E-Bike", "7005 aluminium", {44,49,54}, 22.2, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2,80", "Male", {"black matt/neon red"}, "569-68544", 4599 }, { "E-STREAM EVO FS 3 29", "E-Bike", "E-Bike", "7005 aluminium", {44,49,54}, 22.8, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"black matt/blue", "matt/grey matt"}, "569-68444", 4199 }, { "E-STREAM EVO FS 3 27,5", "E-Bike", "E-Bike", "7005 aluminium", {44,49,54}, 22.9, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.25", "Male", {"black matt/neon", "yellow/grey"}, "569-68244", 4199 }, { "E-STREAM EVO 3 29", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 21.9, 29, "Schwalbe Rocket Ron Evolution 29 x 2.25", "Male", {"grey/black matt"}, "569-68046", 3499 }, { "E-STREAM EVO 3 27,5", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 21.3, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.25", "Male", {"black matt/white/blue"}, "569-67446", 3499 }, { "E-STREAM EVO 2 29", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 22.1, 29, "Schwalbe Rapid Rob 29 x 2.25", "Male", {"black matt/white/neon red"}, "569-67346", 2999 }, { "E-STREAM EVO 2 27,5", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 21.5, 27.5, "Schwalbe Rapid Rob 27,5 x 2.25", "Male", {"black matt/white/neon red"}, "569-67246", 2999 }, { "E-STREAM EVO 3 27,5+", "E-Bike", "E-Bike", "7005 aluminium", {46,51,56}, 22.2, 27.5, "Schwalbe Rocket Ron Evolution 27,5 x 2.80", "Male", {"black/grey/neon green"}, "569-67646", 3599 }, { "E-STREAM DURO", "E-Bike", "E-Bike", "7005 aluminium", {41,46,51,56}, 21.8, 27.5, "Schwalbe Rapid Rob 27,5 x 2.25", "Male", {"black matt/white"}, "569-66441", 2499 }, { "STURMVOGEL E EVO", "E-Bike", "E-Bike", "7005 aluminium", {41,46,51,56}, 23.9, 26, "Schwalbe Fat Frank 26 x 2.35", "Male", {"white"}, "569-66041", 3199 }, { "ALPINE HAWK TEAM DI2", "Road", "Road", "carbon fibre, monocoque", {50,52,54,56,58,60}, 6.9, 28, "Schwalbe One V-Guard Folding, 25 mm", "Male", {"UD carbon matt/white matt"}, "564-09550", 4999 }, { "ALPINE HAWK", "Road", "Road", "carbon fibre, monocoque", {50,52,54,56,58,60}, 7.9, 28, "Schwalbe One V-Guard Folding, 25 mm", "Male", {"UD carbon matt/white matt"}, "564-08550", 2999 }, { "DESERT FALCON DISC", "Road", "Road", "7005 superlite aluminium, triple butted, smooth welded", {48,50,52,54,56,58}, 8.6, 28, "Schwalbe One V-Guard Folding, 25 mm", "Male", {"black/turqoise matt"}, "564-06548", 1799 }, { "NIGHT HAWK DI2", "Road", "Road", "carbon fibre, monocoque", {50,52,54,56,58,60}, 7.7, 28, "Schwalbe One V-Guard Folding, 25 mm", "Male", {"UD carbon matt"}, "564-09050", 3799 }, { "NIGHT HAWK 3", "Road", "Road", "carbon fibre, monocoque", {50,52,54,56,58,60}, 7.7, 28, "Schwalbe One V-Guard Folding, 25 mm", "Male", {"carbon/grey matt"}, "564-08050", 2499 }, { "NIGHT HAWK 2", "Road", "Road", "carbon fibre, monocoque", {50,52,54,56,58,60}, 7.9, 28, "Schwalbe Lugano, 25 mm", "Male", {"UD carbon matt/white matt"}, "564-07550", 1999 }, { "NIGHT HAWK 1", "Road", "Road", "carbon fibre, monocoque", {50,52,54,56,58,60}, 8.4, 28, "Schwalbe Lugano, 25 mm", "Male", {"grey/black matt"}, "564-07050", 1799 }, { "DESERT FALCON PRO", "Road", "Road", "7005 superlite aluminium, triple butted, smooth welded", {48,50,52,54,56,58}, 7.9, 28, "Schwalbe One V-Guard Folding, 25 mm", "Male", {"black matt"}, "564-06048", 1799 }, { "DESERT FALCON", "Road", "Road", "7005 superlite aluminium, triple butted, smooth welded", {48,50,52,54,56,58}, 8.1, 28, "Schwalbe Lugano, 25 mm", "Male", {"black/white", "black/white matt"}, "564-04048, 564-04148", 1499 }, { "HARRIER 2", "Road", "Road", "7005 lite aluminium, double butted, smooth welded", {48,50,52,54,56,58,60,62,64}, 8.2, 28, "Schwalbe Lugano, 25 mm", "Male", {"black/black matt"}, "564-03048", 1299 }, { "HARRIER 1", "Road", "Road", "7005 lite aluminium, double butted, smooth welded", {48,50,52,54,56,58,60,62,64}, 8.6, 28, "Schwalbe Lugano, 25 mm", "Male", {"black matt/neon yellow", "black/white matt"}, "564-02548, 564-02648", 999.95 }, { "VULTURE 2", "Road", "Road", "7005 aluminium", {47,50,53,56,59}, 9.2, 28, "Schwalbe Lugano, 25 mm", "Male", {"black matt"}, "564-01047", 999.95 }, { "VULTURE 1", "Road", "Road", "7005 aluminium", {47,50,53,56,59}, 10.2, 28, "CST C-1406, 25 mm", "Male", {"black matt"}, "564-00047", 899.95 }, { "NIGHT FALCON LADY", "Road", "Road", "7005 superlite aluminium, triple butted, smooth welded", {48,50,52,54}, 7.9, 28, "Schwalbe One, 25 mm", "Female", {"white matt/black", "matt/red"}, "564-04548", 1499 }, { "ANCURA 2", "Road", "Road", "7005 lite aluminium, double butted", {47,50,53,56}, 9.1, 28, "Schwalbe Lugano, 25 mm", "Female", {"black matt"}, "564-01547", 999.95 }, { "ANCURA 1", "Road", "Road", "7005 aluminium", {48,50,52,54}, 10.2, 28, "CST C-1406, 25 mm", "Female", {"white"}, "564-00548", 899.95 }, { "RECREATION GROUND 3", "Road", "Road", "Full Hi-Ten", {50,55,60}, 12.3, 28, "Thickslick Sport 25 mm", "Male", {"green", "black matt"}, "564-13550, 564-13750", 799.95 }, { "RECREATION GROUND 2", "Road", "Road", "Full Hi-Ten", {50,55,60}, 13.4, 28, "Thickslick Sport 25 mm", "Male", {"black matt", "white", "grey matt"}, "564-13150, 564-13250, 564-13350", 699.95 }, { "RECREATION GROUND 1", "Road", "Road", "Full Hi-Ten", {50,55,60}, 12.3, 28, "Thickslick Sport 25 mm", "Male", {"white/black", "green matt/black matt", "blue", "black matt/turquois", "red/white"}, "564-12750, 564-12550, 564-12850, 564-12950, 564-13050", 599.95 }, { "GRINDER 2", "Road", "Road", "7005 lite aluminium, double butted, smooth welded", {49,52,55,58,61}, 9.4, 28, "Schwalbe G-One, 40-622", "Male/Female", {"grey matt"}, "564-11049", 1799 }, { "GRINDER 1", "Road", "Road", "7005 lite aluminium, double butted, smooth welded", {49,52,55,58,61}, 9.5, 28, "Schwalbe G-One, 40-622", "Male/Female", {"dark blue"}, "564-10549", 1499 }, { "DAILY GRINDER", "Road", "Road", "7005 lite aluminium, double butted, smooth welded", {49,52,55,58,61}, 10.8, 28, "Schwalbe G-One, 40-622", "Male/Female", {"black"}, "564-11549", 1699 }, { "CROSS RS", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted, smooth welded", {48,54,58,61}, 12.8, 28, "Schwalbe Smart Sam, 44-622", "Male", {"grey matt/black"}, "563-16848", 1499 }, { "CROSS MOVER RACE", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted, smooth welded", {48,54,58,61}, 12.8, 28, "Schwalbe G-One, 40-622", "Male", {"grey/black matt"}, "563-15448", 1299 }, { "CROSS MOVER", "Trekking--Cross", "Cross--Trekking--City", "", {48,54,58,61}, 13.1, 28, "Schwalbe Smart Sam, 44-622", "Male", {"black matt/white"}, "563-13648", 999.95 }, { "CROSS RIDER 27 FIT FOR FUN", "Trekking--Cross", "Cross--Trekking--City", "7005 aluminium, semi smooth welded", {45,50,55}, 14.6, 29, "Kenda", "Male/Female", {"grey matt/black matt"}, "563-07245", 899.95 }, { "CROSS RIDER 8 FIT FOR FUN", "Trekking--Cross", "Cross--Trekking--City", "7005 aluminium, semi smooth welded", {45,50,55}, 16.3, 29, "Kenda", "Male/Female", {"grey matt/black matt"}, "563-08045", 999.95 }, { "LETRO", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted, smooth welded", {44,48,54}, 14.2, 28, "Schwalbe Tyrago, 42-622", "Female", {"grey/white"}, "563-09144", 999.95 }, { "CROSS FLYER DISC", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted, smooth welded", {44,48,54}, 13.9, 28, "Schwalbe Smart Sam, 44-622", "Female", {"black matt"}, "563-06744", 899.95 }, { "CROSSTAIL", "Trekking--Cross", "Cross--Trekking--City", "7005 aluminium", {44,48,54}, 14.8, 28, "Kenda K-1170, 40-622", "Female", {"light blue matt/white"}, "563-05144", 799.95 }, { "CROSS BIKE 2", "Trekking--Cross", "Cross--Trekking--City", "7005 aluminium", {44,48,54}, 15.0, 28, "Kenda K-1170, 40-622", "Female", {"purple matt"}, "563-03544", 699.95 }, { "CROSS BIKE 1", "Trekking--Cross", "Cross--Trekking--City", "7005 aluminium", {44,48,54}, 14.9, 28, "Kenda K-1170, 40-622", "Female", {"white"}, "563-02544", 599.95 }, { "WILDCROSS", "Trekking--Cross", "Cross--Trekking--City", "7005 aluminium", {44,48,54}, 14.2, 28, "Kenda K-1170, 40-622", "Female", {"white"}, "563-01144", 499.95 }, { "PULSAR CROSS", "Trekking--Cross", "Cross--Trekking--City", "7005 aluminium", {44,48,54}, 13.9, 28, "Kenda K-1170, 40-622", "Female", {"white"}, "563-00544", 449.95 }, { "CROSS LITE", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted, smooth welded", {44,48,54,58,61}, 13.9, 28, "Schwalbe Marathon Supreme, 42-622", "Female", {"black matt"}, "563-26544", 1399 }, { "STREET MOVER", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted, smooth welded", {44,48,54,58}, 16.3, 28, "Kenda K-1170, 40-622", "Female", {"black matt/white"}, "563-24144", 999.95 }, { "CROSS STREET DISC", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted", {44,48,54,58}, 15.0, 28, "Kenda K-1170, 40-622", "Female", {"light blue", "matt/white"}, "563-23544", 899.95 }, { "STREET FLYER", "Trekking--Cross", "Cross--Trekking--City", "7005 aluminium", {44,48,54,58}, 15.9, 28, "Kenda K-1170, 40-622", "Female", {"black matt"}, "563-20944", 799.95 }, { "CROSS BIKE STREET", "Trekking--Cross", "Cross--Trekking--City", "7005 aluminium", {44,48,54,58}, 14.5, 28, "Kenda K-1170, 40-622", "Female", {"black matt", "white"}, "563-20144, 563-20344", 699.95 }, { "WILDCROSS STREET", "Trekking--Cross", "Cross--Trekking--City", "7005 aluminium", {44,48,54}, 15.2, 28, "Kenda K-1170, 40-622", "Female", {"black matt", "white/turquise"}, "563-19344, 563-19944", 599.95 }, { "PULSAR CROSS STREET", "Trekking--Cross", "Cross--Trekking--City", "7005 aluminium", {44,48,54}, 15.4, 28, "Kenda K-1170, 40-622", "Female", {"brushed alu matt", "black matt", "white matt"}, "563-18544, 563-18744, 563-18944", 549.95 }, { "URBAN 11S BELTDRIVE", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted", {44,48,54}, 13.9, 28, "Schwalbe Road Cruiser, 42-622", "Female", {"black matt"}, "563-37744", 1399 }, { "URBAN 8S BELTDRIVE", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted", {44,48,54}, 13.9, 28, "Schwalbe Road Cruiser, 42-622", "Female", {"black matt"}, "563-36844", 1199 }, { "URBAN 8S", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted", {44,48,54}, 13.8, 28, "Schwalbe Road Cruiser, 42-622", "Female", {"black matt"}, "563-34444", 999.95 }, { "URBAN 8", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted", {44,48,54,58,61}, 12.3, 28, "Schwalbe Road Cruiser, 42-622", "Male", {"black matt"}, "563-30444", 799.95 }, { "URBAN 27S", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted", {44,48,54}, 13.9, 28, "Schwalbe Road Cruiser, 42-622", "Female", {"black matt"}, "563-32844", 999.95 }, { "URBAN 27", "Trekking--Cross", "Cross--Trekking--City", "7005 lite aluminium, double butted", {44,48,54,58,61}, 12.4, 28, "Schwalbe Road Cruiser, 42-622", "Male", {"black matt"}, "563-28844", 799.95 }, { "NOVA TEAM RACE 26", "Kids", "Kids", "7005 aluminium", {32}, 10.5, 26, "Schwalbe Rocket Ron 26 x 2.1", "Boy/Girl", {"white/black/blue"}, "565-10232", 1299.95 }, { "COPPERHEAD 3 S 26", "Kids", "Kids", "7005 aluminium, triple butted", {38}, 11.6, 26, "Schwalbe Rocket Ron 26 x 2.1", "Boy/Girl", {"white/black matt"}, "565-11438", 999.95 }, { "COPPERHEAD 3 S 24", "Kids", "Kids", "7005 aluminium, triple butted", {33}, 11.4, 24, "Schwalbe Rocket Ron 24 x 2.1", "Boy/Girl", {"white/black matt"}, "565-10833", 999.95 }, { "NOVA TEAM 27,5 DISC", "Kids", "Kids", "7005 aluminium", {41,46,51}, 15.5, 27.5, "Schwalbe Smart Sam 27,5 x 2.25", "Boy/Girl/Male/Female", {"white/black/blue"}, "565-09641", 699.95 }, { "NOVA TEAM 26 DISC", "Kids", "Kids", "7005 aluminium", {41,46,51}, 15.3, 26, "Schwalbe Black Jack 26 x 1.90", "Boy/Girl", {"white/black/blue"}, "565-09041", 699.95 }, { "NOVA TEAM 26", "Kids", "Kids", "7005 aluminium", {37,41,46,51}, 14.2, 26, "Schwalbe Black Jack 26 x 1.90", "Boy/Girl", {"white/black/blue"}, "565-07837", 599.95 }, { "NOVA TEAM 24 DISC", "Kids", "Kids", "7005 aluminium", {32}, 12.9, 24, "Schwalbe Black Jack 24 x 1.90", "Boy/Girl", {"white/black/blue"}, "565-08432", 699.95 }, { "NOVA TEAM 24", "Kids", "Kids", "7005 aluminium", {32}, 12.8, 24, "Schwalbe Black Jack 24 x 1.90", "Boy/Girl", {"white/black/blue"}, "565-07232", 549.95 }, { "NOVA TEAM 20", "Kids", "Kids", "7005 aluminium", {28}, 10.8, 20, "Schwalbe Black Jack 20 x 1.90", "Boy/Girl", {"white/black/blue"}, "565-06628", 499.95 }, { "SHARPTAIL 24", "Kids", "Kids", "7005 aluminium", {32}, 12.9, 24, "STYX Ace of Pace 24 x 1.90", "Boy", {"black matt/blue/grey", "blue matt/red/white", "neon yellow matt/black"}, "565-05532, 565-05632, 565-05732", 499.95 }, { "TOKEE 24", "Kids", "Kids", "7005 aluminium", {32}, 13.2, 24, "STYX Ace of Pace 24 x 1.90", "Boy", {"yellow matt/black matt", "blue matt/white", "matt/green matt", "black matt/green matt/white matt"}, "565-04932, 565-04832, 565-05032", 449.95 }, { "TOKEE 20", "Kids", "Kids", "7005 aluminium", {28}, 11.9, 20, "STYX Ace of Pace 20 x 1.90", "Boy", {"blue matt/white", "matt/green matt", "yellow matt/black matt", "black matt/green", "matt/white matt"}, "565-04228, 565-04328, 565-04428", 449.95 }, { "TOKEE LITE 24", "Kids", "Kids", "7005 aluminium", {32}, 13.2, 24, "STYX Ace of Pace 24 x 1.90", "Boy", {"neon green matt"}, "565-03632", 539.95 }, { "TOKEE LITE 20", "Kids", "Kids", "7005 aluminium", {28}, 11.9, 20, "STYX Ace of Pace 20 x 1.90", "Girl", {"white matt/green/purple"}, "565-03128", 539.95 }, { "TOKEE LITE 18", "Kids", "Kids", "7005 aluminium", {25}, 10.8, 18, "Kenda", "Boy", {"black", "yellow", "blue"}, "565-02525, 565-02625, 565-02425", 339.95 }, { "TOKEE LITE 16", "Kids", "Kids", "7005 aluminium", {23}, 9.1, 16, "Kenda", "Boy", {"black", "yellow", "blue"}, "565-01923, 565-02023, 565-01823", 339.95 }, { "TOKEE LITE 12", "Kids", "Kids", "7005 aluminium", {19}, 8.2, 12, "Kenda", "Boy", {"black", "yellow", "blue"}, "565-01319, 565-01419, 565-01219", 339.95 }, { "SHARPTAIL STREET 24", "Kids", "Kids", "aluminium", {32}, 14.6, 24, "STYX Ace of Pace 24 x 1.90", "Girl", {"orange matt"}, "565-19232", 599.95 }, { "ZARENA STREET 24", "Kids", "Kids", "aluminium", {32}, 13.8, 24, "STYX Ace of Pace 24 x 1.90", "Girl", {"purple/white", "white/turquise/green"}, "565-19832, 565-19932", 599.95 }, { "TOKEE STREET 24", "Kids", "Kids", "7005 aluminium", {32}, 14.1, 24, "STYX Ace of Pace 24 x 1.90", "Girl", {"white/pink"}, "565-15032", 479.95 }, { "TOKEE STREET 20", "Kids", "Kids", "7005 aluminium", {28}, 12.5, 20, "STYX Ace of Pace 20 x 1.90", "Boy", {"blue matt", "black matt"}, "565-12028, 565-12128", 479.95 }, { "MONSTER 24", "Kids", "Kids", "7005 aluminium", {32}, 15.8, 24, "Vee Rubber Mission 24 x 4.00", "Boy", {"black matt"}, "562-66032", 799.95 }, { "MONSTER 20", "Kids", "Kids", "7005 aluminium", {28}, 13.8, 20, "Vee Rubber Mission 20 x 4.00", "Boy", {"black matt"}, "562-65428", 799.95 } }; // Which hardtail bikes are available for men whose weight is less than 10kg? for(const Bike &bike : bikes) { if(bike.category == "Hardtail" && bike.rider == "Male" && bike.weight < 10.0) { cout << bike.name << endl; } } /* BLACK ADDER TEAM 29 BLACK ADDER SL BLACK ADDER 29 BUSHMASTER 29 SL BUSHMASTER 29 */ // Which bikes are for both men and women? for(const Bike &bike : bikes) { if(bike.rider == "Male/Female") { cout << bike.name << endl; } } /* GRINDER 2 GRINDER 1 DAILY GRINDER CROSS RIDER 27 FIT FOR FUN CROSS RIDER 8 FIT FOR FUN */ // Which bikes for women are less than 500euro? for(const Bike &bike : bikes) { if(bike.rider == "Female" && bike.price_euro < 500) { cout << bike.name << endl; } } /* NANDI 27,5 NANDI WILDCROSS PULSAR CROSS */ // Which road bikes are available for women? for(const Bike &bike : bikes) { if(bike.rider == "Female" && bike.category == "Road") { cout << bike.name << endl; } } /* NIGHT FALCON LADY ANCURA 2 ANCURA 1 */ // Which bikes for boys/girls have a frame size smaller than 30cm and wheel size at most 20? for(const Bike &bike : bikes) { if((bike.rider == "Boy" || bike.rider == "Girl") && bike.wheel_size <= 20) { for(int framesz : bike.frame_sizes_cm) { if(framesz < 30) { cout << bike.name << endl; break; } } } } /* TOKEE 20 TOKEE LITE 20 TOKEE LITE 18 TOKEE LITE 16 TOKEE LITE 12 TOKEE STREET 20 MONSTER 20 */ // What are the average prices of the bikes for men, women, boys, girls? map<string,map<double, int>> people_bikes; double price = 0.0; string rider_type = ""; for(const Bike &bike : bikes) { price = bike.price_euro; rider_type = bike.rider; people_bikes[rider_type][0] += price; people_bikes[rider_type][1]++; } for(auto &pb : people_bikes) { cout << pb.first << " avg: " << people_bikes[pb.first][0] / people_bikes[pb.first][1] << endl; } /* Male avg: 2086 Female avg: 1014 Male/Female avg: 1379 Boy avg: 503 Girl avg: 554 Boy/Girl avg: 1074 Boy/Girl/Male/Female avg: 699 */ // Which bikes have orange matt? vector<string> colors; for(const Bike &bike : bikes) { colors = bike.colors; if(find(colors.begin(), colors.end(), "orange matt") != colors.end()) { cout << bike.name << endl; } } /* SHARPTAIL 1 DISC 29 SHARPTAIL 1 DISC 27,5 AMINGA 29 LT VANIDA DISC 29 VANIDA DISC 27,5 SHARPTAIL STREET 24 */ return 0; }

As you can see, feedback can be almost immediate even with a large number of bikes. Recommendations like these make bike selection much easier.