Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //import std;
- #include <vector>
- #include <string>
- #include <algorithm>
- #include <iterator>
- #include <print>
- struct Lago {
- std::string nome{};
- std::string regione{};
- double superficie_km2{};
- };
- auto predicato(const Lago& elemento) -> bool
- {
- return elemento.superficie_km2 > 100;
- }
- auto scegli_calcola_sconto(const std::string& mese) -> double(*)(double)
- {
- if (mese=="febbraio")
- return [] (double costo) -> double {return costo/10;};
- // altri mesi
- return [](double costo) -> double {return 0; };
- }
- auto main() -> int
- {
- std::vector<Lago> laghi = {
- {"Lago di Garda", "Lombardia", 370.0},
- {"Lago Maggiore", "Piemonte", 212.0},
- {"Lago di Como", "Lombardia", 146.0},
- {"Lago di Idro", "Lombardia", 10.9},
- {"Lago di Biandronno", "Lombardia", 0.5}
- //ecc...
- };
- std::vector<Lago> laghi_grandi; //superficie > 100km2
- double soglia = 200;
- std::copy_if(laghi.begin(), laghi.end(),std::back_inserter(laghi_grandi),
- predicato);
- std::ranges::copy_if(laghi, std::back_inserter(laghi_grandi),
- [soglia] (const Lago& ele) -> bool {return ele.superficie_km2 > soglia; } );
- auto f = [] -> int {return 6;};
- std::println("{}", f());
- double prezzo = 200;
- auto prezzo_scontato = prezzo - scegli_calcola_sconto("febbraio")(prezzo);
- std::println("Prezzo scontato per febbraio: {}", prezzo_scontato );
- for (auto ele: laghi_grandi)
- std::println("{} {} {}", ele.nome, ele.regione, ele.superficie_km2);
- }
Advertisement
Add Comment
Please, Sign In to add comment