Skip to content

asidelnikoff/HMP_Classes

Repository files navigation

Практические задания по теме «Классы, перегрузка функций, модификаторы ref, in, out, params»

Задачи для обязательного выполнения

Задача 1

Дан с клавиатуры двумерный массив значений из n строк. Значения вводятся через пробел для каждой строки массива. Между значениями могут быть лишние пробелы, а значения не всегда могут быть числовыми, все значения которые невозможно конвертировать в число необходимо заменить нулем. Реализовать методы для поиска минимального, максимального и суммы каждой строки массива. Крайне важно — программа не должна критически завершаться! При реализации методов необходимо использовать модификаторы ref, in, out.

Задача 2 (Пиццерия).

У вас в штате есть «N» пекарей, занимающихся производством пиццы, с разным опытом работы и «M» курьеров, занимающихся доставкой пиццы заказчику, один склад готовой продукции размера «T». Производственный процесс выглядит следующим образом:

  • поступает заказ на пиццу в общую очередь;
  • пекарь нажимает на кнопку и берет заказ в исполнение;
  • когда пицца готова, пекарь нажимает на кнопку с готовностью пиццы и пытается зарезервировать место на складе. Если склад полностью заполнен, пекарь ожидает свободное место;
  • пекарь передает пиццу на склад и может продолжить работу;
  • курьер после очередного заказа обращается на склад и берет одну или несколько пицц в доставку, но не больше объема своего багажника. Если склад пуст ожидает появления готовых пицц;
  • после доставки очередной пиццы курьер отмечает что заказ выполнен;
  • при выполнении очередного действия, система выводит на стандартный вывод сообщение: [номер заказа], [состояние];
  • параметры работников пиццерии загружаются пользователем. Усложненный вариант из файла формата JSON*.

Если исполнение заказа было более заданного времени, пицца отдается заказчику бесплатно. В конце рабочей смены система автоматизации анализирует выполнение заказов и дает рекомендации владельцу:

  • увеличить количество заказов;
  • расширить склад;
  • нанять/уволить пекаря (i);
  • нанять/уволить курьера (i);

Задача 3

Написать класс – одномерный массив целых чисел. Учитывая следующие рекомендации:

  • создайте метод конструктор (), внутри которого будут определен один параметр: размер массива. Начальные значения свойства берутся из входных параметров метода.
  • создайте метод InputData позволяющий задать данные массива пользователем
  • создайте метод InputDataRandom заполняющий массив с помощью датчика случайных чисел
  • создайте метод print() – вывод на экран содержимого массив из указанного диапазона индексов
  • создайте метод FindValue - который возвращает список индексов для искомого элемента
  • создайте метод DelValue - который удаляет из массива (искомый элемент в массиве может встречаться несколько раз) искомый элемент.
  • создайте метод FindMax - который возвращает максимальное значение из массива.
  • создайте метод Add который выполняет сложение двух массивов одинаковой длины поэлементно
  • создайте метод Sort который выполняет сортировку элементов массива по возрастанию.

Замечание – использование класса Array - запрещено

Замечание - при реализации методов класса необходимо использовать модификаторы ref, in, out

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages