bryaaa
12.01.2023 17:27

Уартёма оригинальные друзья, каждый из которых любит есть конфеты немного по-своему.

например, аркадий любит вынуть из коробки все конфеты, вид которых — четное число, а затем съесть из них каждую вторую, а оставшиеся — положить на свободные места слева направо.
внутри класса в массиве эта операция выглядит так:
(7, 1, 2, 5, 8, 10, 4, 3, 17) → (7, 1, 0, 5, 0, 0, 0, 3, 17) → (7, 1, 2, 5, 10, 0, 0, 3, 17).

алиса, в отличие от аркадия, любит съесть сначала первую половину конфет (округленную в меньшую сторону), а затем, раскаиваясь о содеянном, расставить оставшиеся конфеты в том же порядке так, чтобы между ними было хотя бы одно свободное место. при этом первая оставшаяся конфета должна оказаться на первом месте в коробке.
внутри класса в массиве эта операция выглядит так:
(7, 1, 2, 5, 8, 10, 4, 3, 17) → (0, 0, 0, 0, 8, 10, 4, 3, 17) → (8, 0, 10, 0, 4, 0, 3, 0, 17).
ещё один пример:
(7, 1, 2, 5, 8, 10, 4, 3) → (0, 0, 0, 0, 8, 10, 4, 3) → (8, 0, 10, 0, 4, 0, 3, 0).

артёму по заданному набору конфет в коробке определить, какой состав конфет в коробках будет после того, как его друзья съедят все конфеты, которые их интересуют. предполагается, что и аркадию и алисе артём подарил одинаковые коробки конфет.

для решения этой вы должны проделать шаги, указанные ниже.

добавить в класс candybox публичный метод int который будет возвращать размер коробки конфет.

добавить в класс candybox публичный метод int& at(int index), который будет возвращать конфету, которая находится на i-ой позиции. обратите внимание, что за счёт того, что метод возвращает ссылку, вы можете менять содержимое коробки. например, вот так:
candybox b;
b.read();
b.at(3) = 7;
добавить в класс candybox конструктор копирования.

добавить вне класса функцию candybox arcady_process(candybox b), которая эмулирует поведение аркадия, если ему подарить коробку конфет b, и возвращает новый объект — коробку, из которой поел конфет аркадий.

добавить вне класса функцию candybox alice_process(candybox b), которая эмулирует поведение алисы, если ей подарить коробку конфет b, и возвращает новый объект — коробку, из которой поела конфет алиса.

формат входных данных
в первой строке вводится целое положительное число m — количество конфет.

в следующей строке вводятся m неотрицательных чисел, не превышающих 109 — виды конфет.

формат выходных данных
требуется вывести две строки с числами — состояние коробок после аркадия и алисы.

входные данные
9
7 1 2 5 8 10 4 3 17
выходные данные
7 1 2 5 10 0 0 3 17
8 0 10 0 4 0 3 0 17
входные данные
7
8 4 6 4 8 8 1
выходные данные
8 6 8 0 0 0 1
4 0 8 0 8 0 1

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
руслан7661
08.07.2021 04:11
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

procedure Fib(n:integer; var r:sequence of integer);
begin
  if n<1 then exit; // нечего глупости задавать
  case n of
  1: r:=Seq(1);
  2: r:=Seq(1,1);
  else begin
    r:=Seq(1,1);
    var (p1,p2):=(1,1);
    var p:integer;
    loop n-2 do begin
      p:=p1+p2;
      r:=r+Seq(p);
      (p1,p2):=(p2,p)
      end
    end
  end
end;
   
begin
  var s:sequence of integer;
  var n:=ReadInteger('n=');
  Fib(n,s);
  s.Println
end.

Пример
n= 8
1 1 2 3 5 8 13 21
0,0(0 оценок)
Ответ:
aretem2002
17.10.2020 01:03
Вот полноценный модуль на C:

#ifndef _MATH_MODULE_H_
#define _MATH_MODULE_H_

#define PI (3.14159265359f)

// Площади круга по известному радиусу
float spacecircle(float radius){ return (PI * radius * radius); }

// Длины окружности по известному радиусу
float circumference(float radius){ return (2 * PI * radius); }

// Площади прямоугольника по значениям длины и ширины
float spacerectangle(float width, float height){ return (width * height); }

// Объема цилиндра по значениям высоты цилиндра и радиуса основания
float volcylinder(float height, float radius){ return (spacecircle(radius) * height); }

#endif
1. создать модуль, включающий подпрограммы вычисления: a. площади круга по известному радиусу; b. дл
1. создать модуль, включающий подпрограммы вычисления: a. площади круга по известному радиусу; b. дл
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота