В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
katya100507
katya100507
08.08.2021 09:19 •  Информатика

Решите задачу для следующих наборов входных данных: p = 1, k = 1, a = -100, program [1]
p = -10, k = 1, a = 100, program [1]
p = 1, k = 10, a = 100, program [2]
p = 1, k = -10, a = -10, program [2]
p = -10, k = 10, a = 10, program [1,2]
p = 10, k = -10, a = 10, program [1,2]
p = -10, k = 10, a = 10, program [2,1]
p = -10, k = -10, a = 1, program [1,2,1]
p = -5, k = 5, a = 5, program [2,1,2]
p = -1, k = 3, a = 1, program [2,1,2]
p = 1, k = 2, a = 3, program [1,2,2,1]
p = 9, k = 1, a = 8, program [1,1,1,1,1,1,1,1,1,1]
p = -10, k = 1, a = 10, program [1,1,1,1,1]
p = -10, k = 5, a = -86, program [1,1,1,1,1,1,1,1,1,1]
p = 1, k = 6, a = 5, program [2,2,2,2,2,2,2,2,2,2]
p = 1, k = -10, a = 96, program [2,2,2,2,2,2,2,2,2,1]
p = 1, k = -9, a = -100, program [2,2,2,2,2,2,2,2,2,2]
p = -10, k = 10, a = 97, program [1,2,1,2,1,2,1,2,1,2]
p = -10, k = -10, a = 84, program [1,1,1,1,1,2,2,2,2,2]
p = -10, k = -10, a = 100, program [2,2,2,2,2,1,1,1,1,1]

Отправьте на проверку текстовый файл с результатами для каждого набора данных

Показать ответ
Ответ:
676751
676751
15.04.2020 01:35
Const
  nn = 20;

type
  ta = array[1..nn] of integer;

procedure FillArray(var a: ta; n, min, max: integer);
var
  i, k: integer;
begin
  k := max - min + 1;
  for i := 1 to n do a[i] := Random(k) + min
end;

procedure WriteArray(a: ta; n, p: integer);
var
  i: integer;
begin
  for i := 1 to n do Write(a[i]:p);
  Writeln
end;

procedure CopyNegative(var a, b: ta; m: integer; var n: integer);
var
  i: integer;
begin
  n := 0;
  for i := 1 to m do
    if a[i] < 0 then
    begin
      Inc(n);
      b[n] := a[i]
    end
end;

var
  n: integer;
  x, y: ta;

begin
  Randomize;
  FillArray(x, 10, -50, 50);
  Writeln('Исходный массив');
  WriteArray(x, 10, 4);
  CopyNegative(x, y, 10, n);
  Writeln('Массив из отрицательных элементов');
  WriteArray(y, n, 4);
  FillArray(x, 8, -200, 100);
  Writeln('Исходный массив');
  WriteArray(x, 12, 5);
  CopyNegative(x, y, 12, n);
  Writeln('Массив из отрицательных элементов');
  WriteArray(y, n, 5);
end.

Тестовое решение:
Исходный массив
 -12  17  35  -4 -45   8  33  -8 -47  -4
Массив из отрицательных элементов
 -12  -4 -45  -8 -47  -4
Исходный массив
 -150 -174   92 -168   69  -60 -165  -78  -47   -4    0    0
Массив из отрицательных элементов
 -150 -174 -168  -60 -165  -78  -47   -4
0,0(0 оценок)
Ответ:
Мерконюк
Мерконюк
30.04.2020 08:31
Код#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 зверьков. Каждый из них обладает характером, поэтому, если в клетке, где находится
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота