М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
dakuevasaida
dakuevasaida
24.07.2020 19:55 •  Информатика

Напишите менеджер контекста, который позволит засекать время выполнения блока кода с конструкции with и выводить это время на экран по выходу из блока

👇
Открыть все ответы
Ответ:
playerkeks
playerkeks
24.07.2020
Код#include <iostream>#include <utility>#include <numeric>#include <vector>class Beast {    int trigger;    double aggression;    double rage_aggression;public:    Beast() = default;    Beast(int trigger, double aggression, double range_aggression)    : trigger(trigger), aggression(aggression), rage_aggression(range_aggression)    { }    Beast(const Beast&) = default;    Beast(Beast&&) = default;    Beast& operator=(const Beast&) = default;    Beast& operator=(Beast&&) = default;    [[nodiscard]] double calculate_aggression(unsigned long amount) const {        return amount > trigger ? rage_aggression : aggression;    }    void ReadFrom (std::istream& is) {        is >> aggression >> rage_aggression >> trigger;    }    void WriteTo(std::ostream &os) const {        os << aggression << " " << rage_aggression << " " << trigger;    }};std::istream& operator >>(std::istream &is, Beast &cls) {    cls.ReadFrom(is);    return is;}std::ostream& operator <<(std::ostream &os, const Beast &cls) {    cls.WriteTo(os);    return os;}class Cage {    double durability;    std::vector<Beast> container;public:    explicit Cage(double durability, std::vector<Beast> container)    : durability(durability), container(std::move(container))    { }    Cage(const Cage&) = default;    Cage(Cage&&) = default;    Cage& operator=(const Cage&) = default;    Cage& operator=(Cage&&) = default;    [[nodiscard]] double calculate_aggressive() const {        auto amount = container.size();        if (amount == 0) return 0;        return std::accumulate(container.begin(), container.end(), 0.0,        [amount](double total_aggressive, const Beast & beast){            return total_aggressive + beast.calculate_aggression(amount);        });    }    [[nodiscard]] bool is_it_normal() const {        auto aggressive = calculate_aggressive();        return aggressive <= durability;    }    [[nodiscard]] int get_capacity() const {        return container.size();    }    [[nodiscard]] double get_durability() const {        return durability;    }};template <typename T>void subsetsUtil(std::vector<T>& A, std::vector<std::vector<T> >& res,                 std::vector<T>& subset, int index){    res.push_back(subset);    for (int i = index; i < A.size(); i++) {        // include the A[i] in subset.        subset.push_back(A[i]);        // move onto the next element.        subsetsUtil(A, res, subset, i + 1);        // exclude the A[i] from subset and triggers        // backtracking.        subset.pop_back();    }}template <typename T>std::vector<std::vector<T>> P(std::vector<T>& A){    std::vector<T> subset;    std::vector<std::vector<T>> res;    int index = 0;    subsetsUtil(A, res, subset, index);    return res;}int main () {    int n, s;    Beast noname{};    std::vector<Beast> set_of_beasts;    std::cin >> n >> s;    for (auto i = 0; i < n; ++i) {        std::cin >> noname;        set_of_beasts.push_back(noname);    }    auto selections = P(set_of_beasts);    std::vector<Cage> variants;    std::transform(selections.begin(), selections.end(), std::back_inserter(variants), [s](std::vector<Beast> &selection){        return Cage(s, selection);    });    std::vector<Cage> true_variants;    std::copy_if(variants.begin(), variants.end(), std::back_inserter(true_variants), [](Cage& x) {return x.is_it_normal();});    auto the_best_of_the_best_variant = *std::max_element(true_variants.begin(), true_variants.end(), [](Cage & s1, Cage & s2){        return s1.get_capacity() < s2.get_capacity();    });    std::cout << the_best_of_the_best_variant.get_capacity();    return 0;}
У Арсения есть n зверьков. Каждый из них обладает характером, поэтому, если в клетке, где находится
У Арсения есть n зверьков. Каждый из них обладает характером, поэтому, если в клетке, где находится
4,6(73 оценок)
Ответ:
Код в файлах. Отдельно реализован класс Geometry. Пример работы представлен на скриншоте.

Внимание! Хром жрет строки! Сейчас поправлю

Laboratorna2.cs
//////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Laboratorna2{
    class Laboratorna2
    {
        public static void A() {
             Console.WriteLine("Привет, это метод А()");
        }
        public static void B(int n, int m) {
             Console.WriteLine(n + m);
             Console.WriteLine(n - m);
             Console.WriteLine(n * m);
             Console.WriteLine(Convert.ToDouble(n) / m);
        }
        public static double C(double k, double l, double m) {
             return (k + l + m) / 3;
        }
  public static string N11(ref int Numb) {
             Numb = 11 * Numb; return "";
  }
  public static int Line(ref string line) {
             char[] arr = line.ToCharArray();
             Array.Reverse(arr);
             line = new string(arr);
             return line.Length;
  }
  static void Main(string[] args) {
             Console.WriteLine("Метод А:"); A();
             Console.WriteLine("Метод B:"); B(5, 7);
             Console.WriteLine("Метод C: {0}", C(4.33, 13.6, -14.88439435));
             Console.WriteLine("Geometry.S: {0}", Geometry.S(5));
             double P, S;
             Geometry.Par(5, out P, out S);
             Console.WriteLine("Geometry.Par: P={0}; S={1}", P, S);
             int N = 7;
             Console.WriteLine("Метод N11: Число = {0}; Результат = {2}", N, N11(ref N), N);
             string kekus = "Lol Kek Cheburek!";
             Console.WriteLine("Метод Line: Исходная строка = \"{0}\"; Длина = {1}; Результирующая строка = \"{2}\";", kekus, Line(ref kekus), kekus);
             Console.ReadKey();
      }
    }
}

Geometry.cs
\\\\\\\\\\\\\\\\\\\\\\\\\
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Laboratorna2 {
 class Geometry {
  public static double S(double R) {
   return Math.PI * Math.Pow(R, 2);
   }
  public static void Par(double R, out double S, out double P) {
   S = Math.PI * Math.Pow(R, 2);
   P = 2 * Math.PI * R;
  }
 }
}

C# xотя бь| половину. 1. создать класс laboratorna2, который содержит метод main () 2. создать еще т
4,6(61 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ