From 6884bc2a1dda99b58648c122065bc2573f8f048a Mon Sep 17 00:00:00 2001 From: juliavlv Date: Thu, 12 Dec 2024 13:07:17 +0300 Subject: [PATCH 01/12] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=2020-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 +- students/23K0342/23K0342-p21/pom.xml | 13 +++ .../ru/mirea/practice/s0000001/Converter.java | 20 ++++ .../23K0342-p21/src/main/java/t2/Array.java | 52 +++++++++++ students/23K0342/23K0342-p22/pom.xml | 13 +++ .../mirea/practice/s0000001/Calculator.java | 62 +++++++++++++ .../java/ru/mirea/practice/s0000001/Rpn.java | 93 +++++++++++++++++++ students/23K0342/23K0342-p23/pom.xml | 13 +++ .../practice/s0000001/task1/ArrayQueue.java | 56 +++++++++++ .../s0000001/task1/ArrayQueueAdT.java | 56 +++++++++++ .../s0000001/task1/ArrayQueueAdTtest.java | 19 ++++ .../s0000001/task1/ArrayQueueModule.java | 57 ++++++++++++ .../s0000001/task1/ArrayQueueModuleTest.java | 17 ++++ .../s0000001/task1/ArrayQueueTest.java | 19 ++++ .../s0000001/task2/AbstractQueue.java | 21 +++++ .../practice/s0000001/task2/ArrayQueue.java | 46 +++++++++ .../s0000001/task2/ArrayQueueTest.java | 19 ++++ .../practice/s0000001/task2/LinkedQueue.java | 52 +++++++++++ .../s0000001/task2/LinkedQueueTest.java | 19 ++++ .../mirea/practice/s0000001/task2/Queue.java | 15 +++ students/23K0342/23K0342-p24/pom.xml | 13 +++ .../practice/s0000001/task1/Complex.java | 25 +++++ .../task1/ComplexAbstractFactory.java | 9 ++ .../s0000001/task1/ConcreteFactory.java | 14 +++ .../ru/mirea/practice/s0000001/task1/Use.java | 14 +++ students/23K0342/23K0342-p25/pom.xml | 13 +++ .../practice/s0000001/DateValidator.java | 22 +++++ .../mirea/practice/s0000001/EmailChecker.java | 29 ++++++ .../java/ru/mirea/practice/s0000001/Main.java | 12 +++ .../practice/s0000001/PriceExtractor.java | 17 ++++ students/23K0342/23K0342-p26/pom.xml | 13 +++ .../practice/s0000001/ArrayInverter.java | 33 +++++++ .../mirea/practice/s0000001/CustomList.java | 53 +++++++++++ .../java/ru/mirea/practice/s0000001/Main.java | 12 +++ .../practice/s0000001/TestCustomList.java | 15 +++ students/23K0342/23K0342-p27/pom.xml | 13 +++ .../ru/mirea/practice/s0000001/HashTab.java | 66 +++++++++++++ .../java/ru/mirea/practice/s0000001/Main.java | 23 +++++ students/23K0342/23K0342-p28/pom.xml | 13 +++ .../java/ru/mirea/practice/s0000001/Main.java | 22 +++++ students/23K0342/23K0342-p29/pom.xml | 13 +++ .../ru/mirea/practice/s0000001/Milky.java | 37 ++++++++ students/23K0342/23K0342-p30_1/pom.xml | 13 +++ .../mirea/practice/s0000001/BinaryTree.java | 55 +++++++++++ .../ru/mirea/practice/s0000001/TreeNode.java | 13 +++ students/23K0342/pom.xml | 11 +++ 46 files changed, 1237 insertions(+), 2 deletions(-) create mode 100644 students/23K0342/23K0342-p21/pom.xml create mode 100644 students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java create mode 100644 students/23K0342/23K0342-p21/src/main/java/t2/Array.java create mode 100644 students/23K0342/23K0342-p22/pom.xml create mode 100644 students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java create mode 100644 students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java create mode 100644 students/23K0342/23K0342-p23/pom.xml create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java create mode 100644 students/23K0342/23K0342-p24/pom.xml create mode 100644 students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java create mode 100644 students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java create mode 100644 students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java create mode 100644 students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java create mode 100644 students/23K0342/23K0342-p25/pom.xml create mode 100644 students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java create mode 100644 students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java create mode 100644 students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java create mode 100644 students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java create mode 100644 students/23K0342/23K0342-p26/pom.xml create mode 100644 students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java create mode 100644 students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java create mode 100644 students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java create mode 100644 students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java create mode 100644 students/23K0342/23K0342-p27/pom.xml create mode 100644 students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java create mode 100644 students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java create mode 100644 students/23K0342/23K0342-p28/pom.xml create mode 100644 students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java create mode 100644 students/23K0342/23K0342-p29/pom.xml create mode 100644 students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java create mode 100644 students/23K0342/23K0342-p30_1/pom.xml create mode 100644 students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java create mode 100644 students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java diff --git a/pom.xml b/pom.xml index 1b510e5a0..b0f959595 100644 --- a/pom.xml +++ b/pom.xml @@ -80,7 +80,7 @@ students/23K0145 students/23K0186 students/23K0755 - students/23K1292 + students/23K0342 @@ -148,7 +148,7 @@ com.puppycrawl.tools checkstyle - 10.20.1 + 10.19.0 diff --git a/students/23K0342/23K0342-p21/pom.xml b/students/23K0342/23K0342-p21/pom.xml new file mode 100644 index 000000000..fb9c1f7d7 --- /dev/null +++ b/students/23K0342/23K0342-p21/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p21 + Массивы + diff --git a/students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java b/students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java new file mode 100644 index 000000000..3302294d7 --- /dev/null +++ b/students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java @@ -0,0 +1,20 @@ +package ru.mirea.practice.s0000001; + +import java.util.Arrays; +import java.util.List; + +public abstract class Converter { + public static List convertArrayToList(T[] array) { + return Arrays.asList(array); + } + + public static void main(String[] args) { + String[] stringArray = {"a", "b", "c"}; + List stringList = convertArrayToList(stringArray); + System.out.println("Список строк: " + stringList); + + Integer[] intArray = {1, 2, 3}; + List intList = convertArrayToList(intArray); + System.out.println("Список чисел: " + intList); + } +} diff --git a/students/23K0342/23K0342-p21/src/main/java/t2/Array.java b/students/23K0342/23K0342-p21/src/main/java/t2/Array.java new file mode 100644 index 000000000..2f71348a8 --- /dev/null +++ b/students/23K0342/23K0342-p21/src/main/java/t2/Array.java @@ -0,0 +1,52 @@ +package ru.mirea.practice.s0000001.t2; + +public class Array { + private T[] elements; + + public Array(T[] elements) { + this.elements = elements; + } + + public T get(int index) { + if (index >= 0 && index < elements.length) { + return elements[index]; + } else { + throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + elements.length); + } + } + + public void set(int index, T element) { + if (index >= 0 && index < elements.length) { + elements[index] = element; + } else { + throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + elements.length); + } + } + + public int size() { + return elements.length; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("["); + for (int i = 0; i < elements.length; i++) { + sb.append(elements[i]); + if (i < elements.length - 1) { + sb.append(", "); + } + } + sb.append("]"); + return sb.toString(); + } + + public static void main(String[] args) { + Integer[] intArray = {1, 2, 3, 4, 5}; + Array intStorage = new Array<>(intArray); + System.out.println("Integer array: " + intStorage); + + String[] stringArray = {"СТОЛ", "СТУЛ", "ЗОНТ"}; + Array stringStorage = new Array<>(stringArray); + System.out.println("String array: " + stringStorage); + } +} diff --git a/students/23K0342/23K0342-p22/pom.xml b/students/23K0342/23K0342-p22/pom.xml new file mode 100644 index 000000000..851a05274 --- /dev/null +++ b/students/23K0342/23K0342-p22/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p22 + Массивы + diff --git a/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java b/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java new file mode 100644 index 000000000..aa0365d4b --- /dev/null +++ b/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java @@ -0,0 +1,62 @@ +package ru.mirea.practice.s0000001; + +import java.util.Stack; + +public class Calculator { + private Stack stack; + + public Calculator() { + stack = new Stack<>(); + } + + public double evaluate(String expression) { + stack.clear(); + String[] tokens = expression.split(" "); + for (String token : tokens) { + if (isOperator(token)) { + if (stack.size() < 2) { + throw new ArrayIndexOutOfBoundsException("Ошибка: недостаточно данных для операции"); + } + double b = stack.pop(); + double a = stack.pop(); + stack.push(applyOperator(a, b, token)); + } else { + try { + stack.push(Double.parseDouble(token)); + } catch (NumberFormatException e) { + throw new IllegalArgumentException("Ошибка: неверный формат числа", e); + } + } + } + if (stack.size() != 1) { + throw new IllegalStateException("Ошибка: выражение некорректно"); + } + return stack.pop(); + } + + private boolean isOperator(String token) { + return "+".equals(token) || "-".equals(token) || "*".equals(token) || "/".equals(token); + } + + private double applyOperator(double a, double b, String operator) { + try { + switch (operator) { + case "+": + return a + b; + case "-": + return a - b; + case "*": + return a * b; + case "/": + if (b == 0) { + throw new ArithmeticException("Ошибка: деление на ноль"); + } + return a / b; + default: + throw new IllegalArgumentException("Ошибка: неизвестная операция " + operator); + } + } catch (ArithmeticException | IllegalArgumentException e) { + throw e; + } + } +} diff --git a/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java b/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java new file mode 100644 index 000000000..e1343e326 --- /dev/null +++ b/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java @@ -0,0 +1,93 @@ +package ru.mirea.practice.s0000001; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JTextField; +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.SwingUtilities; + +public class Rpn extends JFrame { + private JTextField display; + private Calculator calculator; + + public Rpn() { + calculator = new Calculator(); + display = new JTextField(); + display.setEditable(false); + display.setFont(new Font("Arial", Font.PLAIN, 24)); + setLayout(new BorderLayout()); + add(display, BorderLayout.NORTH); + + JPanel panel = new JPanel(new GridLayout(5, 4, 5, 5)); + String[] buttons = { + "7", "8", "9", "/", + "4", "5", "6", "*", + "1", "2", "3", "-", + "0", ".", "=", "+", + "C", "Space", "", "" + }; + + for (String text : buttons) { + JButton button = new JButton(text); + button.setFont(new Font("Arial", Font.PLAIN, 18)); + if ("Space".equals(text)) { // Литерал теперь идет первым + button.setPreferredSize(new Dimension(80, 50)); + } + button.addActionListener(new ButtonClickListener()); + panel.add(button); + } + add(panel, BorderLayout.CENTER); + + setTitle("RPN Calculator"); + setSize(400, 500); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setLocationRelativeTo(null); + } + + private class ButtonClickListener implements ActionListener { + @Override + public void actionPerformed(ActionEvent e) { + String command = e.getActionCommand(); + switch (command) { + case "=": + try { + double result = calculator.evaluate(display.getText().trim()); + display.setText(String.valueOf(result)); + } catch (ArithmeticException ex) { + display.setText("Ошибка: деление на ноль"); + } catch (NumberFormatException ex) { + display.setText("Ошибка: неверный формат числа"); + } catch (ArrayIndexOutOfBoundsException ex) { + display.setText("Ошибка: недостаточно данных для операции"); + } catch (IllegalStateException ex) { + display.setText("Ошибка: выражение некорректно"); + } catch (Exception ex) { + display.setText("Неизвестная ошибка: " + ex.getMessage()); + } + break; + case "C": + display.setText(""); + break; + case "Space": + display.setText(display.getText() + " "); + break; + default: + display.setText(display.getText() + command); + break; + } + } + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(() -> { + Rpn calc = new Rpn(); + calc.setVisible(true); + }); + } +} diff --git a/students/23K0342/23K0342-p23/pom.xml b/students/23K0342/23K0342-p23/pom.xml new file mode 100644 index 000000000..e2c90628c --- /dev/null +++ b/students/23K0342/23K0342-p23/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p23 + Массивы + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java new file mode 100644 index 000000000..83afade3a --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java @@ -0,0 +1,56 @@ +package ru.mirea.practice.s0000001.task1; + +public class ArrayQueue { + private Object[] elements; + private int size; + private int front; + private int rear; + + public ArrayQueue() { + elements = new Object[10]; + size = 0; + front = 0; + rear = 0; + } + + public void enqueue(Object element) { + if (size == elements.length) { + throw new IllegalStateException("Queue is full"); + } + elements[rear] = element; + rear = (rear + 1) % elements.length; + size++; + } + + public Object element() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + return elements[front]; + } + + public Object dequeue() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + Object result = elements[front]; + front = (front + 1) % elements.length; + size--; + return result; + } + + public int size() { + return size; + } + + public boolean isEmpty() { + return size == 0; + } + + public void clear() { + size = 0; + front = 0; + rear = 0; + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java new file mode 100644 index 000000000..08f3759a1 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java @@ -0,0 +1,56 @@ +package ru.mirea.practice.s0000001.task1; + +public class ArrayQueueAdT { + private Object[] elements; + private int size; + private int front; + private int rear; + + public ArrayQueueAdT() { + elements = new Object[10]; + size = 0; + front = 0; + rear = 0; + } + + public void enqueue(Object element) { + if (size == elements.length) { + throw new IllegalStateException("Queue is full"); + } + elements[rear] = element; + rear = (rear + 1) % elements.length; + size++; + } + + public Object element() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + return elements[front]; + } + + public Object dequeue() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + Object result = elements[front]; + front = (front + 1) % elements.length; + size--; + return result; + } + + public int size() { + return size; + } + + public boolean isEmpty() { + return size == 0; + } + + public void clear() { + size = 0; + front = 0; + rear = 0; + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java new file mode 100644 index 000000000..3c640d2ee --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java @@ -0,0 +1,19 @@ +package ru.mirea.practice.s0000001.task1; + +public abstract class ArrayQueueAdTtest { + public static void main(String[] args) { + ArrayQueueAdT queue = new ArrayQueueAdT(); + + queue.enqueue(1); + queue.enqueue(2); + queue.enqueue(3); + + System.out.println(queue.dequeue()); + System.out.println(queue.element()); + System.out.println(queue.size()); + + queue.clear(); + System.out.println(queue.isEmpty()); + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java new file mode 100644 index 000000000..3e8a48fa0 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java @@ -0,0 +1,57 @@ +package ru.mirea.practice.s0000001.task1; + +public abstract class ArrayQueueModule { + private static final int DEFAULT_CAPACITY = 10; + private static Object[] elements; + private static int size; + private static int front; + private static int rear; + + static { + elements = new Object[DEFAULT_CAPACITY]; + size = 0; + front = 0; + rear = 0; + } + + public static void enqueue(Object element) { + if (size == elements.length) { + throw new IllegalStateException("Queue is full"); + } + elements[rear] = element; + rear = (rear + 1) % elements.length; + size++; + } + + public static Object element() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + return elements[front]; + } + + public static Object dequeue() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + Object result = elements[front]; + front = (front + 1) % elements.length; + size--; + return result; + } + + public static int size() { + return size; + } + + public static boolean isEmpty() { + return size == 0; + } + + public static void clear() { + size = 0; + front = 0; + rear = 0; + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java new file mode 100644 index 000000000..6d7fcdb89 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java @@ -0,0 +1,17 @@ +package ru.mirea.practice.s0000001.task1; + +public abstract class ArrayQueueModuleTest { + public static void main(String[] args) { + ArrayQueueModule.enqueue(1); + ArrayQueueModule.enqueue(2); + ArrayQueueModule.enqueue(3); + + System.out.println(ArrayQueueModule.dequeue()); // 1 + System.out.println(ArrayQueueModule.element()); // 2 + System.out.println(ArrayQueueModule.size()); // 2 + + ArrayQueueModule.clear(); + System.out.println(ArrayQueueModule.isEmpty()); // true + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java new file mode 100644 index 000000000..01c7dca9e --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java @@ -0,0 +1,19 @@ +package ru.mirea.practice.s0000001.task1; + +public abstract class ArrayQueueTest { + public static void main(String[] args) { + ArrayQueue queue = new ArrayQueue(); + + queue.enqueue(1); + queue.enqueue(2); + queue.enqueue(3); + + System.out.println(queue.dequeue()); // 1 + System.out.println(queue.element()); // 2 + System.out.println(queue.size()); // 2 + + queue.clear(); + System.out.println(queue.isEmpty()); // true + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java new file mode 100644 index 000000000..fab4c665e --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java @@ -0,0 +1,21 @@ +package ru.mirea.practice.s0000001.task2; + +public abstract class AbstractQueue implements Queue { + protected int size; + + @Override + public int size() { + return size; + } + + @Override + public boolean isEmpty() { + return size == 0; + } + + @Override + public void clear() { + size = 0; + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java new file mode 100644 index 000000000..e925d1726 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java @@ -0,0 +1,46 @@ +package ru.mirea.practice.s0000001.task2; + +public class ArrayQueue extends AbstractQueue { + private Object[] elements; + private int front; + private int rear; + + private static final int DEFAULT_CAPACITY = 10; + + public ArrayQueue() { + elements = new Object[DEFAULT_CAPACITY]; + size = 0; + front = 0; + rear = 0; + } + + @Override + public void enqueue(Object element) { + if (size == elements.length) { + throw new IllegalStateException("Queue is full"); + } + elements[rear] = element; + rear = (rear + 1) % elements.length; + size++; + } + + @Override + public Object dequeue() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + + final Object result = elements[front]; + front = (front + 1) % elements.length; + size--; + return result; + } + + @Override + public Object element() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + return elements[front]; + } +} diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java new file mode 100644 index 000000000..674ae18ee --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java @@ -0,0 +1,19 @@ +package ru.mirea.practice.s0000001.task2; + +public abstract class ArrayQueueTest { + public static void main(String[] args) { + ArrayQueue queue = new ArrayQueue(); + + queue.enqueue(1); + queue.enqueue(2); + queue.enqueue(3); + + System.out.println(queue.dequeue()); + System.out.println(queue.element()); + System.out.println(queue.size()); + + queue.clear(); + System.out.println(queue.isEmpty()); + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java new file mode 100644 index 000000000..cc9d6d238 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java @@ -0,0 +1,52 @@ +package ru.mirea.practice.s0000001.task2; + +public class LinkedQueue extends AbstractQueue { + private Node head; + private Node tail; + + private static class Node { + Object value; + Node next; + + Node(Object value) { + this.value = value; + } + } + + @Override + public void enqueue(Object element) { + Node newNode = new Node(element); + if (tail == null) { + head = newNode; + tail = newNode; + } else { + tail.next = newNode; + tail = newNode; + } + size++; + } + + @Override + public Object dequeue() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + + final Object result = head.value; + head = head.next; + + if (head == null) { + tail = null; + } + size--; + return result; + } + + @Override + public Object element() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + return head.value; + } +} diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java new file mode 100644 index 000000000..b3105fe71 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java @@ -0,0 +1,19 @@ +package ru.mirea.practice.s0000001.task2; + +public abstract class LinkedQueueTest { + public static void main(String[] args) { + LinkedQueue queue = new LinkedQueue(); + + queue.enqueue(1); + queue.enqueue(2); + queue.enqueue(3); + + System.out.println(queue.dequeue()); + System.out.println(queue.element()); + System.out.println(queue.size()); + + queue.clear(); + System.out.println(queue.isEmpty()); + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java new file mode 100644 index 000000000..0544032f8 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java @@ -0,0 +1,15 @@ +package ru.mirea.practice.s0000001.task2; + +public interface Queue { + void enqueue(Object element); + + Object dequeue(); + + Object element(); + + int size(); + + boolean isEmpty(); + + void clear(); +} diff --git a/students/23K0342/23K0342-p24/pom.xml b/students/23K0342/23K0342-p24/pom.xml new file mode 100644 index 000000000..f06f2d003 --- /dev/null +++ b/students/23K0342/23K0342-p24/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p24 + Массивы + diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java new file mode 100644 index 000000000..5afd6813d --- /dev/null +++ b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java @@ -0,0 +1,25 @@ +package ru.mirea.practice.s0000001.task1; + +public class Complex { + private int real; + private int imaginary; + + public Complex(int real, int imaginary) { + this.real = real; + this.imaginary = imaginary; + } + + public int getReal() { + return real; + } + + public int getImaginary() { + return imaginary; + } + + @Override + public String toString() { + return real + " + " + imaginary + "i"; + } +} + diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java new file mode 100644 index 000000000..be1e423b4 --- /dev/null +++ b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java @@ -0,0 +1,9 @@ +package ru.mirea.practice.s0000001.task1; + +public interface ComplexAbstractFactory { + + Complex createComplex(); + + Complex createComplex(int real, int imaginary); +} + diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java new file mode 100644 index 000000000..b5df50284 --- /dev/null +++ b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java @@ -0,0 +1,14 @@ +package ru.mirea.practice.s0000001.task1; + +public class ConcreteFactory implements ComplexAbstractFactory { + + @Override + public Complex createComplex() { + return new Complex(0, 0); + } + + @Override + public Complex createComplex(int real, int imaginary) { + return new Complex(real, imaginary); + } +} diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java new file mode 100644 index 000000000..3948b99ef --- /dev/null +++ b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java @@ -0,0 +1,14 @@ +package ru.mirea.practice.s0000001.task1; + +public abstract class Use { + public static void main(String[] args) { + ComplexAbstractFactory factory = new ConcreteFactory(); + + Complex defaultComplex = factory.createComplex(); + System.out.println("Default complex number: " + defaultComplex); + + Complex customComplex = factory.createComplex(5, 3); + System.out.println("Custom complex number: " + customComplex); + } +} + diff --git a/students/23K0342/23K0342-p25/pom.xml b/students/23K0342/23K0342-p25/pom.xml new file mode 100644 index 000000000..b5df35f91 --- /dev/null +++ b/students/23K0342/23K0342-p25/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p25 + Массивы + diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java new file mode 100644 index 000000000..fb7b8d972 --- /dev/null +++ b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java @@ -0,0 +1,22 @@ +package ru.mirea.practice.s0000001; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public abstract class DateValidator { + public static void main(String[] args) { + String[] dates = { + "29/02/2000", "30/04/2003", "01/01/2003", + "29/02/2001", "30-04-2003", "1/1/1899" + }; + + String dateRegex = "^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[0-2])/(19|20)\\d{2}$"; + Pattern pattern = Pattern.compile(dateRegex); + + System.out.println("Проверка дат в формате dd/mm/yyyy:"); + for (String date : dates) { + Matcher matcher = pattern.matcher(date); + System.out.println(date + ": " + matcher.matches()); + } + } +} diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java new file mode 100644 index 000000000..fd0347b03 --- /dev/null +++ b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java @@ -0,0 +1,29 @@ +package ru.mirea.practice.s0000001; + +import java.util.regex.Pattern; + +public abstract class EmailChecker { + private static final String EMAIL_REGEX = + "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"; + + private static final Pattern EMAIL_PATTERN = Pattern.compile(EMAIL_REGEX); + + public static boolean isValidEmail(String email) { + if (email == null) { + return false; + } + return EMAIL_PATTERN.matcher(email).matches(); + } + + public static void main(String[] args) { + String[] testEmails = { + "test@mail.ru", + "name.test@gmail.com", + "invalid-email@" + }; + + for (String email : testEmails) { + System.out.printf("Email: %s подходит ли: %b%n", email, isValidEmail(email)); + } + } +} diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java new file mode 100644 index 000000000..b89e47de8 --- /dev/null +++ b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -0,0 +1,12 @@ +package ru.mirea.practice.s0000001; + +public final class Main { + + private Main() { + + } + + public static void main(String[] args) { + System.out.println("первая практическая работа!"); + } +} diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java new file mode 100644 index 000000000..37a81626b --- /dev/null +++ b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java @@ -0,0 +1,17 @@ +package ru.mirea.practice.s0000001; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public abstract class PriceExtractor { + public static void main(String[] args) { + String text = "Цены: 25.98 USD, 44 ERR, 0.004 EU, 10.00 RUB, 99.95 EUR"; + Pattern pattern = Pattern.compile("\\b\\d{1,3}(\\.\\d{1,2})? (USD|RUB|EUR)\\b"); + Matcher matcher = pattern.matcher(text); + + System.out.println("Цены в USD, RUB, EUR:"); + while (matcher.find()) { + System.out.println(matcher.group()); + } + } +} diff --git a/students/23K0342/23K0342-p26/pom.xml b/students/23K0342/23K0342-p26/pom.xml new file mode 100644 index 000000000..b67daa6bf --- /dev/null +++ b/students/23K0342/23K0342-p26/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p26 + Массивы + diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java new file mode 100644 index 000000000..b265675d8 --- /dev/null +++ b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java @@ -0,0 +1,33 @@ +package ru.mirea.practice.s0000001; + +import java.util.Stack; + +public abstract class ArrayInverter { + public static void invertArray(int[] array) { + Stack stack = new Stack<>(); + + for (int element : array) { + stack.push(element); + } + + for (int i = 0; i < array.length; i++) { + array[i] = stack.pop(); + } + } + + public static void main(String[] args) { + int[] array = {1, 2, 3, 4, 5}; + + System.out.println("Исходный массив:"); + for (int num : array) { + System.out.print(num + " "); + } + + invertArray(array); + + System.out.println("\nИнвертированный массив:"); + for (int num : array) { + System.out.print(num + " "); + } + } +} diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java new file mode 100644 index 000000000..0de9d6905 --- /dev/null +++ b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java @@ -0,0 +1,53 @@ +package ru.mirea.practice.s0000001; + +import java.util.Arrays; +import java.util.Iterator; +import java.util.NoSuchElementException; + +public class CustomList implements Iterable { + private Object[] elements; + private int size; + + public CustomList() { + elements = new Object[10]; + size = 0; + } + + public void add(T element) { + if (size == elements.length) { + resize(); + } + elements[size++] = element; + } + + private void resize() { + elements = Arrays.copyOf(elements, elements.length * 2); + } + + public int size() { + return size; + } + + @Override + public Iterator iterator() { + return new CustomIterator(); + } + + private class CustomIterator implements Iterator { + private int currentIndex = 0; + + @Override + public boolean hasNext() { + return currentIndex < size; + } + + @Override + public T next() { + if (!hasNext()) { + throw new NoSuchElementException("Нет больше элементов в итераторе."); + } + return (T) elements[currentIndex++]; + } + } +} + diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java new file mode 100644 index 000000000..b89e47de8 --- /dev/null +++ b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -0,0 +1,12 @@ +package ru.mirea.practice.s0000001; + +public final class Main { + + private Main() { + + } + + public static void main(String[] args) { + System.out.println("первая практическая работа!"); + } +} diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java new file mode 100644 index 000000000..d9bdb5ee8 --- /dev/null +++ b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java @@ -0,0 +1,15 @@ +package ru.mirea.practice.s0000001; + +public abstract class TestCustomList { + public static void main(String[] args) { + CustomList list = new CustomList<>(); + list.add("Первый"); + list.add("Второй"); + list.add("Третий"); + + System.out.println("Элементы списка:"); + for (String item : list) { + System.out.println(item); + } + } +} diff --git a/students/23K0342/23K0342-p27/pom.xml b/students/23K0342/23K0342-p27/pom.xml new file mode 100644 index 000000000..d79f3e7ca --- /dev/null +++ b/students/23K0342/23K0342-p27/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p27 + Массивы + diff --git a/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java b/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java new file mode 100644 index 000000000..67253da3f --- /dev/null +++ b/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java @@ -0,0 +1,66 @@ +package ru.mirea.practice.s0000001; + +import java.util.LinkedList; + +public class HashTab { + private static final int SIZE = 10; + private LinkedList[] table; + + private static class Entry { + String key; + String value; + + Entry(String key, String value) { + this.key = key; + this.value = value; + } + } + + public void hashtabInit() { + table = new LinkedList[SIZE]; + for (int i = 0; i < SIZE; i++) { + table[i] = new LinkedList<>(); + } + } + + private int hashtabHash(String key) { + return Math.abs(key.hashCode() % SIZE); + } + + public void hashtabAdd(String key, String value) { + int index = hashtabHash(key); + for (Entry entry : table[index]) { + if (entry.key.equals(key)) { + entry.value = value; + return; + } + } + table[index].add(new Entry(key, value)); + } + + public String hashtabLookup(String key) { + int index = hashtabHash(key); + for (Entry entry : table[index]) { + if (entry.key.equals(key)) { + return entry.value; + } + } + return null; + } + + public void hashtabDelete(String key) { + int index = hashtabHash(key); + table[index].removeIf(entry -> entry.key.equals(key)); + } + + public void printTable() { + for (int i = 0; i < SIZE; i++) { + System.out.print("Index " + i + ": "); + for (Entry entry : table[i]) { + System.out.print("[" + entry.key + " -> " + entry.value + "] "); + } + System.out.println(); + } + } +} + diff --git a/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java new file mode 100644 index 000000000..d9f5ed478 --- /dev/null +++ b/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -0,0 +1,23 @@ +package ru.mirea.practice.s0000001; + +public abstract class Main { + public static void main(String[] args) { + HashTab hashtable = new HashTab(); + hashtable.hashtabInit(); + + hashtable.hashtabAdd("апельсин", "фрукты"); + hashtable.hashtabAdd("огурец", "овощи"); + hashtable.hashtabAdd("мандарин", "фрукты"); + + System.out.println("Поиск 'апельсин': " + hashtable.hashtabLookup("апельсин")); + System.out.println("Поиск 'огурец': " + hashtable.hashtabLookup("огурец")); + System.out.println("Поиск 'мандарин': " + hashtable.hashtabLookup("мандарин")); + + hashtable.printTable(); + + hashtable.hashtabDelete("огурец"); + System.out.println("После удаления 'огурец':"); + hashtable.printTable(); + } +} + diff --git a/students/23K0342/23K0342-p28/pom.xml b/students/23K0342/23K0342-p28/pom.xml new file mode 100644 index 000000000..231991c57 --- /dev/null +++ b/students/23K0342/23K0342-p28/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p28 + Массивы + diff --git a/students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java new file mode 100644 index 000000000..6a5f34aa1 --- /dev/null +++ b/students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -0,0 +1,22 @@ +package ru.mirea.practice.s0000001; + +import java.util.HashSet; +import java.util.TreeSet; + +public abstract class Main { + public static void main(String[] args) { + HashSet hashSet = new HashSet<>(); + hashSet.add("апельсин"); + hashSet.add("манадрин"); + hashSet.add("груша"); + hashSet.add("лимон"); + + TreeSet treeSet = new TreeSet<>(hashSet); + + System.out.println("Элементы TreeSet (упорядочены):"); + for (String item : treeSet) { + System.out.println(item); + } + } +} + diff --git a/students/23K0342/23K0342-p29/pom.xml b/students/23K0342/23K0342-p29/pom.xml new file mode 100644 index 000000000..28880901c --- /dev/null +++ b/students/23K0342/23K0342-p29/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p29 + Массивы + diff --git a/students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java b/students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java new file mode 100644 index 000000000..3d82f5aea --- /dev/null +++ b/students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java @@ -0,0 +1,37 @@ +package ru.mirea.practice.s0000001; + +import java.util.Scanner; + +public abstract class Milky { + public static void main(String[] args) { + try (Scanner scanner = new Scanner(System.in)) { + int n = scanner.nextInt(); + + if (n == 0) { + System.out.println(0); + return; + } + + int[][] matrix = new int[n][n]; + + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) { + matrix[i][j] = scanner.nextInt(); + } + } + + int roadCount = 0; + for (int i = 0; i < n; i++) { + for (int j = i + 1; j < n; j++) { + if (matrix[i][j] == 1) { + roadCount++; + } + } + } + + System.out.println(roadCount); + } + } +} + + diff --git a/students/23K0342/23K0342-p30_1/pom.xml b/students/23K0342/23K0342-p30_1/pom.xml new file mode 100644 index 000000000..caa68a471 --- /dev/null +++ b/students/23K0342/23K0342-p30_1/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p30_1 + Массивы + diff --git a/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java b/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java new file mode 100644 index 000000000..213ebd0f7 --- /dev/null +++ b/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java @@ -0,0 +1,55 @@ +package ru.mirea.practice.s0000001; + +class BinaryTree { + TreeNode root; + + public int height(TreeNode node) { + if (node == null) { + return 0; + } else { + int leftHeight = height(node.left); + int rightHeight = height(node.right); + return Math.max(leftHeight, rightHeight) + 1; + } + } + + public void reverse(TreeNode node) { + if (node == null) { + return; + } + TreeNode temp = node.left; + node.left = node.right; + node.right = temp; + + reverse(node.left); + reverse(node.right); + } + + public boolean lookup(TreeNode node, int target) { + if (node == null) { + return false; + } + if (node.data == target) { + return true; + } + return target < node.data ? lookup(node.left, target) : lookup(node.right, target); + } + + public int size(TreeNode node) { + if (node == null) { + return 0; + } + return size(node.left) + 1 + size(node.right); + } + + public boolean sameTree(TreeNode a, TreeNode b) { + if (a == null && b == null) { + return true; + } + if (a == null || b == null) { + return false; + } + return a.data == b.data && sameTree(a.left, b.left) && sameTree(a.right, b.right); + } +} + diff --git a/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java b/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java new file mode 100644 index 000000000..3450868b1 --- /dev/null +++ b/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java @@ -0,0 +1,13 @@ +package ru.mirea.practice.s0000001; + +class TreeNode { + int data; + TreeNode left; + TreeNode right; + + public TreeNode(int item) { + data = item; + left = right = null; + } +} + diff --git a/students/23K0342/pom.xml b/students/23K0342/pom.xml index 8a36aecc5..cb27256fa 100644 --- a/students/23K0342/pom.xml +++ b/students/23K0342/pom.xml @@ -33,6 +33,17 @@ 23K0342-p18 23K0342-p19 23K0342-p20 + 23K0342-p22 + 23K0342-p21 + 23K0342-p23 + 23K0342-p24 + 23K0342-p25 + 23K0342-p26 + 23K0342-p27 + 23K0342-p28 + 23K0342-p29 + 23K0342-p30_1 + From 6f49b989445ab3d6492b59990c2712ff0506bfc6 Mon Sep 17 00:00:00 2001 From: juliavlv Date: Thu, 12 Dec 2024 13:07:17 +0300 Subject: [PATCH 02/12] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=2020-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 3 +- students/23K0342/23K0342-p21/pom.xml | 13 +++ .../ru/mirea/practice/s0000001/Converter.java | 20 ++++ .../23K0342-p21/src/main/java/t2/Array.java | 52 +++++++++++ students/23K0342/23K0342-p22/pom.xml | 13 +++ .../mirea/practice/s0000001/Calculator.java | 62 +++++++++++++ .../java/ru/mirea/practice/s0000001/Rpn.java | 93 +++++++++++++++++++ students/23K0342/23K0342-p23/pom.xml | 13 +++ .../practice/s0000001/task1/ArrayQueue.java | 56 +++++++++++ .../s0000001/task1/ArrayQueueAdT.java | 56 +++++++++++ .../s0000001/task1/ArrayQueueAdTtest.java | 19 ++++ .../s0000001/task1/ArrayQueueModule.java | 57 ++++++++++++ .../s0000001/task1/ArrayQueueModuleTest.java | 17 ++++ .../s0000001/task1/ArrayQueueTest.java | 19 ++++ .../s0000001/task2/AbstractQueue.java | 21 +++++ .../practice/s0000001/task2/ArrayQueue.java | 46 +++++++++ .../s0000001/task2/ArrayQueueTest.java | 19 ++++ .../practice/s0000001/task2/LinkedQueue.java | 52 +++++++++++ .../s0000001/task2/LinkedQueueTest.java | 19 ++++ .../mirea/practice/s0000001/task2/Queue.java | 15 +++ students/23K0342/23K0342-p24/pom.xml | 13 +++ .../practice/s0000001/task1/Complex.java | 25 +++++ .../task1/ComplexAbstractFactory.java | 9 ++ .../s0000001/task1/ConcreteFactory.java | 14 +++ .../ru/mirea/practice/s0000001/task1/Use.java | 14 +++ students/23K0342/23K0342-p25/pom.xml | 13 +++ .../practice/s0000001/DateValidator.java | 22 +++++ .../mirea/practice/s0000001/EmailChecker.java | 29 ++++++ .../java/ru/mirea/practice/s0000001/Main.java | 12 +++ .../practice/s0000001/PriceExtractor.java | 17 ++++ students/23K0342/23K0342-p26/pom.xml | 13 +++ .../practice/s0000001/ArrayInverter.java | 33 +++++++ .../mirea/practice/s0000001/CustomList.java | 53 +++++++++++ .../java/ru/mirea/practice/s0000001/Main.java | 12 +++ .../practice/s0000001/TestCustomList.java | 15 +++ students/23K0342/23K0342-p27/pom.xml | 13 +++ .../ru/mirea/practice/s0000001/HashTab.java | 66 +++++++++++++ .../java/ru/mirea/practice/s0000001/Main.java | 23 +++++ students/23K0342/23K0342-p28/pom.xml | 13 +++ .../java/ru/mirea/practice/s0000001/Main.java | 22 +++++ students/23K0342/23K0342-p29/pom.xml | 13 +++ .../ru/mirea/practice/s0000001/Milky.java | 37 ++++++++ students/23K0342/23K0342-p30_1/pom.xml | 13 +++ .../mirea/practice/s0000001/BinaryTree.java | 55 +++++++++++ .../ru/mirea/practice/s0000001/TreeNode.java | 13 +++ students/23K0342/pom.xml | 11 +++ 46 files changed, 1237 insertions(+), 1 deletion(-) create mode 100644 students/23K0342/23K0342-p21/pom.xml create mode 100644 students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java create mode 100644 students/23K0342/23K0342-p21/src/main/java/t2/Array.java create mode 100644 students/23K0342/23K0342-p22/pom.xml create mode 100644 students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java create mode 100644 students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java create mode 100644 students/23K0342/23K0342-p23/pom.xml create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java create mode 100644 students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java create mode 100644 students/23K0342/23K0342-p24/pom.xml create mode 100644 students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java create mode 100644 students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java create mode 100644 students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java create mode 100644 students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java create mode 100644 students/23K0342/23K0342-p25/pom.xml create mode 100644 students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java create mode 100644 students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java create mode 100644 students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java create mode 100644 students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java create mode 100644 students/23K0342/23K0342-p26/pom.xml create mode 100644 students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java create mode 100644 students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java create mode 100644 students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java create mode 100644 students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java create mode 100644 students/23K0342/23K0342-p27/pom.xml create mode 100644 students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java create mode 100644 students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java create mode 100644 students/23K0342/23K0342-p28/pom.xml create mode 100644 students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java create mode 100644 students/23K0342/23K0342-p29/pom.xml create mode 100644 students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java create mode 100644 students/23K0342/23K0342-p30_1/pom.xml create mode 100644 students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java create mode 100644 students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java diff --git a/pom.xml b/pom.xml index 1b510e5a0..3cf035d48 100644 --- a/pom.xml +++ b/pom.xml @@ -80,6 +80,7 @@ students/23K0145 students/23K0186 students/23K0755 + students/23K0342 students/23K1292 @@ -148,7 +149,7 @@ com.puppycrawl.tools checkstyle - 10.20.1 + 10.19.0 diff --git a/students/23K0342/23K0342-p21/pom.xml b/students/23K0342/23K0342-p21/pom.xml new file mode 100644 index 000000000..fb9c1f7d7 --- /dev/null +++ b/students/23K0342/23K0342-p21/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p21 + Массивы + diff --git a/students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java b/students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java new file mode 100644 index 000000000..3302294d7 --- /dev/null +++ b/students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java @@ -0,0 +1,20 @@ +package ru.mirea.practice.s0000001; + +import java.util.Arrays; +import java.util.List; + +public abstract class Converter { + public static List convertArrayToList(T[] array) { + return Arrays.asList(array); + } + + public static void main(String[] args) { + String[] stringArray = {"a", "b", "c"}; + List stringList = convertArrayToList(stringArray); + System.out.println("Список строк: " + stringList); + + Integer[] intArray = {1, 2, 3}; + List intList = convertArrayToList(intArray); + System.out.println("Список чисел: " + intList); + } +} diff --git a/students/23K0342/23K0342-p21/src/main/java/t2/Array.java b/students/23K0342/23K0342-p21/src/main/java/t2/Array.java new file mode 100644 index 000000000..2f71348a8 --- /dev/null +++ b/students/23K0342/23K0342-p21/src/main/java/t2/Array.java @@ -0,0 +1,52 @@ +package ru.mirea.practice.s0000001.t2; + +public class Array { + private T[] elements; + + public Array(T[] elements) { + this.elements = elements; + } + + public T get(int index) { + if (index >= 0 && index < elements.length) { + return elements[index]; + } else { + throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + elements.length); + } + } + + public void set(int index, T element) { + if (index >= 0 && index < elements.length) { + elements[index] = element; + } else { + throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + elements.length); + } + } + + public int size() { + return elements.length; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("["); + for (int i = 0; i < elements.length; i++) { + sb.append(elements[i]); + if (i < elements.length - 1) { + sb.append(", "); + } + } + sb.append("]"); + return sb.toString(); + } + + public static void main(String[] args) { + Integer[] intArray = {1, 2, 3, 4, 5}; + Array intStorage = new Array<>(intArray); + System.out.println("Integer array: " + intStorage); + + String[] stringArray = {"СТОЛ", "СТУЛ", "ЗОНТ"}; + Array stringStorage = new Array<>(stringArray); + System.out.println("String array: " + stringStorage); + } +} diff --git a/students/23K0342/23K0342-p22/pom.xml b/students/23K0342/23K0342-p22/pom.xml new file mode 100644 index 000000000..851a05274 --- /dev/null +++ b/students/23K0342/23K0342-p22/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p22 + Массивы + diff --git a/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java b/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java new file mode 100644 index 000000000..aa0365d4b --- /dev/null +++ b/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java @@ -0,0 +1,62 @@ +package ru.mirea.practice.s0000001; + +import java.util.Stack; + +public class Calculator { + private Stack stack; + + public Calculator() { + stack = new Stack<>(); + } + + public double evaluate(String expression) { + stack.clear(); + String[] tokens = expression.split(" "); + for (String token : tokens) { + if (isOperator(token)) { + if (stack.size() < 2) { + throw new ArrayIndexOutOfBoundsException("Ошибка: недостаточно данных для операции"); + } + double b = stack.pop(); + double a = stack.pop(); + stack.push(applyOperator(a, b, token)); + } else { + try { + stack.push(Double.parseDouble(token)); + } catch (NumberFormatException e) { + throw new IllegalArgumentException("Ошибка: неверный формат числа", e); + } + } + } + if (stack.size() != 1) { + throw new IllegalStateException("Ошибка: выражение некорректно"); + } + return stack.pop(); + } + + private boolean isOperator(String token) { + return "+".equals(token) || "-".equals(token) || "*".equals(token) || "/".equals(token); + } + + private double applyOperator(double a, double b, String operator) { + try { + switch (operator) { + case "+": + return a + b; + case "-": + return a - b; + case "*": + return a * b; + case "/": + if (b == 0) { + throw new ArithmeticException("Ошибка: деление на ноль"); + } + return a / b; + default: + throw new IllegalArgumentException("Ошибка: неизвестная операция " + operator); + } + } catch (ArithmeticException | IllegalArgumentException e) { + throw e; + } + } +} diff --git a/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java b/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java new file mode 100644 index 000000000..e1343e326 --- /dev/null +++ b/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java @@ -0,0 +1,93 @@ +package ru.mirea.practice.s0000001; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JTextField; +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.SwingUtilities; + +public class Rpn extends JFrame { + private JTextField display; + private Calculator calculator; + + public Rpn() { + calculator = new Calculator(); + display = new JTextField(); + display.setEditable(false); + display.setFont(new Font("Arial", Font.PLAIN, 24)); + setLayout(new BorderLayout()); + add(display, BorderLayout.NORTH); + + JPanel panel = new JPanel(new GridLayout(5, 4, 5, 5)); + String[] buttons = { + "7", "8", "9", "/", + "4", "5", "6", "*", + "1", "2", "3", "-", + "0", ".", "=", "+", + "C", "Space", "", "" + }; + + for (String text : buttons) { + JButton button = new JButton(text); + button.setFont(new Font("Arial", Font.PLAIN, 18)); + if ("Space".equals(text)) { // Литерал теперь идет первым + button.setPreferredSize(new Dimension(80, 50)); + } + button.addActionListener(new ButtonClickListener()); + panel.add(button); + } + add(panel, BorderLayout.CENTER); + + setTitle("RPN Calculator"); + setSize(400, 500); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setLocationRelativeTo(null); + } + + private class ButtonClickListener implements ActionListener { + @Override + public void actionPerformed(ActionEvent e) { + String command = e.getActionCommand(); + switch (command) { + case "=": + try { + double result = calculator.evaluate(display.getText().trim()); + display.setText(String.valueOf(result)); + } catch (ArithmeticException ex) { + display.setText("Ошибка: деление на ноль"); + } catch (NumberFormatException ex) { + display.setText("Ошибка: неверный формат числа"); + } catch (ArrayIndexOutOfBoundsException ex) { + display.setText("Ошибка: недостаточно данных для операции"); + } catch (IllegalStateException ex) { + display.setText("Ошибка: выражение некорректно"); + } catch (Exception ex) { + display.setText("Неизвестная ошибка: " + ex.getMessage()); + } + break; + case "C": + display.setText(""); + break; + case "Space": + display.setText(display.getText() + " "); + break; + default: + display.setText(display.getText() + command); + break; + } + } + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(() -> { + Rpn calc = new Rpn(); + calc.setVisible(true); + }); + } +} diff --git a/students/23K0342/23K0342-p23/pom.xml b/students/23K0342/23K0342-p23/pom.xml new file mode 100644 index 000000000..e2c90628c --- /dev/null +++ b/students/23K0342/23K0342-p23/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p23 + Массивы + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java new file mode 100644 index 000000000..83afade3a --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java @@ -0,0 +1,56 @@ +package ru.mirea.practice.s0000001.task1; + +public class ArrayQueue { + private Object[] elements; + private int size; + private int front; + private int rear; + + public ArrayQueue() { + elements = new Object[10]; + size = 0; + front = 0; + rear = 0; + } + + public void enqueue(Object element) { + if (size == elements.length) { + throw new IllegalStateException("Queue is full"); + } + elements[rear] = element; + rear = (rear + 1) % elements.length; + size++; + } + + public Object element() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + return elements[front]; + } + + public Object dequeue() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + Object result = elements[front]; + front = (front + 1) % elements.length; + size--; + return result; + } + + public int size() { + return size; + } + + public boolean isEmpty() { + return size == 0; + } + + public void clear() { + size = 0; + front = 0; + rear = 0; + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java new file mode 100644 index 000000000..08f3759a1 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java @@ -0,0 +1,56 @@ +package ru.mirea.practice.s0000001.task1; + +public class ArrayQueueAdT { + private Object[] elements; + private int size; + private int front; + private int rear; + + public ArrayQueueAdT() { + elements = new Object[10]; + size = 0; + front = 0; + rear = 0; + } + + public void enqueue(Object element) { + if (size == elements.length) { + throw new IllegalStateException("Queue is full"); + } + elements[rear] = element; + rear = (rear + 1) % elements.length; + size++; + } + + public Object element() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + return elements[front]; + } + + public Object dequeue() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + Object result = elements[front]; + front = (front + 1) % elements.length; + size--; + return result; + } + + public int size() { + return size; + } + + public boolean isEmpty() { + return size == 0; + } + + public void clear() { + size = 0; + front = 0; + rear = 0; + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java new file mode 100644 index 000000000..3c640d2ee --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java @@ -0,0 +1,19 @@ +package ru.mirea.practice.s0000001.task1; + +public abstract class ArrayQueueAdTtest { + public static void main(String[] args) { + ArrayQueueAdT queue = new ArrayQueueAdT(); + + queue.enqueue(1); + queue.enqueue(2); + queue.enqueue(3); + + System.out.println(queue.dequeue()); + System.out.println(queue.element()); + System.out.println(queue.size()); + + queue.clear(); + System.out.println(queue.isEmpty()); + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java new file mode 100644 index 000000000..3e8a48fa0 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java @@ -0,0 +1,57 @@ +package ru.mirea.practice.s0000001.task1; + +public abstract class ArrayQueueModule { + private static final int DEFAULT_CAPACITY = 10; + private static Object[] elements; + private static int size; + private static int front; + private static int rear; + + static { + elements = new Object[DEFAULT_CAPACITY]; + size = 0; + front = 0; + rear = 0; + } + + public static void enqueue(Object element) { + if (size == elements.length) { + throw new IllegalStateException("Queue is full"); + } + elements[rear] = element; + rear = (rear + 1) % elements.length; + size++; + } + + public static Object element() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + return elements[front]; + } + + public static Object dequeue() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + Object result = elements[front]; + front = (front + 1) % elements.length; + size--; + return result; + } + + public static int size() { + return size; + } + + public static boolean isEmpty() { + return size == 0; + } + + public static void clear() { + size = 0; + front = 0; + rear = 0; + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java new file mode 100644 index 000000000..6d7fcdb89 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java @@ -0,0 +1,17 @@ +package ru.mirea.practice.s0000001.task1; + +public abstract class ArrayQueueModuleTest { + public static void main(String[] args) { + ArrayQueueModule.enqueue(1); + ArrayQueueModule.enqueue(2); + ArrayQueueModule.enqueue(3); + + System.out.println(ArrayQueueModule.dequeue()); // 1 + System.out.println(ArrayQueueModule.element()); // 2 + System.out.println(ArrayQueueModule.size()); // 2 + + ArrayQueueModule.clear(); + System.out.println(ArrayQueueModule.isEmpty()); // true + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java new file mode 100644 index 000000000..01c7dca9e --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java @@ -0,0 +1,19 @@ +package ru.mirea.practice.s0000001.task1; + +public abstract class ArrayQueueTest { + public static void main(String[] args) { + ArrayQueue queue = new ArrayQueue(); + + queue.enqueue(1); + queue.enqueue(2); + queue.enqueue(3); + + System.out.println(queue.dequeue()); // 1 + System.out.println(queue.element()); // 2 + System.out.println(queue.size()); // 2 + + queue.clear(); + System.out.println(queue.isEmpty()); // true + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java new file mode 100644 index 000000000..fab4c665e --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java @@ -0,0 +1,21 @@ +package ru.mirea.practice.s0000001.task2; + +public abstract class AbstractQueue implements Queue { + protected int size; + + @Override + public int size() { + return size; + } + + @Override + public boolean isEmpty() { + return size == 0; + } + + @Override + public void clear() { + size = 0; + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java new file mode 100644 index 000000000..e925d1726 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java @@ -0,0 +1,46 @@ +package ru.mirea.practice.s0000001.task2; + +public class ArrayQueue extends AbstractQueue { + private Object[] elements; + private int front; + private int rear; + + private static final int DEFAULT_CAPACITY = 10; + + public ArrayQueue() { + elements = new Object[DEFAULT_CAPACITY]; + size = 0; + front = 0; + rear = 0; + } + + @Override + public void enqueue(Object element) { + if (size == elements.length) { + throw new IllegalStateException("Queue is full"); + } + elements[rear] = element; + rear = (rear + 1) % elements.length; + size++; + } + + @Override + public Object dequeue() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + + final Object result = elements[front]; + front = (front + 1) % elements.length; + size--; + return result; + } + + @Override + public Object element() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + return elements[front]; + } +} diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java new file mode 100644 index 000000000..674ae18ee --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java @@ -0,0 +1,19 @@ +package ru.mirea.practice.s0000001.task2; + +public abstract class ArrayQueueTest { + public static void main(String[] args) { + ArrayQueue queue = new ArrayQueue(); + + queue.enqueue(1); + queue.enqueue(2); + queue.enqueue(3); + + System.out.println(queue.dequeue()); + System.out.println(queue.element()); + System.out.println(queue.size()); + + queue.clear(); + System.out.println(queue.isEmpty()); + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java new file mode 100644 index 000000000..cc9d6d238 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java @@ -0,0 +1,52 @@ +package ru.mirea.practice.s0000001.task2; + +public class LinkedQueue extends AbstractQueue { + private Node head; + private Node tail; + + private static class Node { + Object value; + Node next; + + Node(Object value) { + this.value = value; + } + } + + @Override + public void enqueue(Object element) { + Node newNode = new Node(element); + if (tail == null) { + head = newNode; + tail = newNode; + } else { + tail.next = newNode; + tail = newNode; + } + size++; + } + + @Override + public Object dequeue() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + + final Object result = head.value; + head = head.next; + + if (head == null) { + tail = null; + } + size--; + return result; + } + + @Override + public Object element() { + if (isEmpty()) { + throw new IllegalStateException("Queue is empty"); + } + return head.value; + } +} diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java new file mode 100644 index 000000000..b3105fe71 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java @@ -0,0 +1,19 @@ +package ru.mirea.practice.s0000001.task2; + +public abstract class LinkedQueueTest { + public static void main(String[] args) { + LinkedQueue queue = new LinkedQueue(); + + queue.enqueue(1); + queue.enqueue(2); + queue.enqueue(3); + + System.out.println(queue.dequeue()); + System.out.println(queue.element()); + System.out.println(queue.size()); + + queue.clear(); + System.out.println(queue.isEmpty()); + } +} + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java new file mode 100644 index 000000000..0544032f8 --- /dev/null +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java @@ -0,0 +1,15 @@ +package ru.mirea.practice.s0000001.task2; + +public interface Queue { + void enqueue(Object element); + + Object dequeue(); + + Object element(); + + int size(); + + boolean isEmpty(); + + void clear(); +} diff --git a/students/23K0342/23K0342-p24/pom.xml b/students/23K0342/23K0342-p24/pom.xml new file mode 100644 index 000000000..f06f2d003 --- /dev/null +++ b/students/23K0342/23K0342-p24/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p24 + Массивы + diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java new file mode 100644 index 000000000..5afd6813d --- /dev/null +++ b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java @@ -0,0 +1,25 @@ +package ru.mirea.practice.s0000001.task1; + +public class Complex { + private int real; + private int imaginary; + + public Complex(int real, int imaginary) { + this.real = real; + this.imaginary = imaginary; + } + + public int getReal() { + return real; + } + + public int getImaginary() { + return imaginary; + } + + @Override + public String toString() { + return real + " + " + imaginary + "i"; + } +} + diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java new file mode 100644 index 000000000..be1e423b4 --- /dev/null +++ b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java @@ -0,0 +1,9 @@ +package ru.mirea.practice.s0000001.task1; + +public interface ComplexAbstractFactory { + + Complex createComplex(); + + Complex createComplex(int real, int imaginary); +} + diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java new file mode 100644 index 000000000..b5df50284 --- /dev/null +++ b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java @@ -0,0 +1,14 @@ +package ru.mirea.practice.s0000001.task1; + +public class ConcreteFactory implements ComplexAbstractFactory { + + @Override + public Complex createComplex() { + return new Complex(0, 0); + } + + @Override + public Complex createComplex(int real, int imaginary) { + return new Complex(real, imaginary); + } +} diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java new file mode 100644 index 000000000..3948b99ef --- /dev/null +++ b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java @@ -0,0 +1,14 @@ +package ru.mirea.practice.s0000001.task1; + +public abstract class Use { + public static void main(String[] args) { + ComplexAbstractFactory factory = new ConcreteFactory(); + + Complex defaultComplex = factory.createComplex(); + System.out.println("Default complex number: " + defaultComplex); + + Complex customComplex = factory.createComplex(5, 3); + System.out.println("Custom complex number: " + customComplex); + } +} + diff --git a/students/23K0342/23K0342-p25/pom.xml b/students/23K0342/23K0342-p25/pom.xml new file mode 100644 index 000000000..b5df35f91 --- /dev/null +++ b/students/23K0342/23K0342-p25/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p25 + Массивы + diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java new file mode 100644 index 000000000..fb7b8d972 --- /dev/null +++ b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java @@ -0,0 +1,22 @@ +package ru.mirea.practice.s0000001; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public abstract class DateValidator { + public static void main(String[] args) { + String[] dates = { + "29/02/2000", "30/04/2003", "01/01/2003", + "29/02/2001", "30-04-2003", "1/1/1899" + }; + + String dateRegex = "^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[0-2])/(19|20)\\d{2}$"; + Pattern pattern = Pattern.compile(dateRegex); + + System.out.println("Проверка дат в формате dd/mm/yyyy:"); + for (String date : dates) { + Matcher matcher = pattern.matcher(date); + System.out.println(date + ": " + matcher.matches()); + } + } +} diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java new file mode 100644 index 000000000..fd0347b03 --- /dev/null +++ b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java @@ -0,0 +1,29 @@ +package ru.mirea.practice.s0000001; + +import java.util.regex.Pattern; + +public abstract class EmailChecker { + private static final String EMAIL_REGEX = + "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"; + + private static final Pattern EMAIL_PATTERN = Pattern.compile(EMAIL_REGEX); + + public static boolean isValidEmail(String email) { + if (email == null) { + return false; + } + return EMAIL_PATTERN.matcher(email).matches(); + } + + public static void main(String[] args) { + String[] testEmails = { + "test@mail.ru", + "name.test@gmail.com", + "invalid-email@" + }; + + for (String email : testEmails) { + System.out.printf("Email: %s подходит ли: %b%n", email, isValidEmail(email)); + } + } +} diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java new file mode 100644 index 000000000..b89e47de8 --- /dev/null +++ b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -0,0 +1,12 @@ +package ru.mirea.practice.s0000001; + +public final class Main { + + private Main() { + + } + + public static void main(String[] args) { + System.out.println("первая практическая работа!"); + } +} diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java new file mode 100644 index 000000000..37a81626b --- /dev/null +++ b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java @@ -0,0 +1,17 @@ +package ru.mirea.practice.s0000001; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public abstract class PriceExtractor { + public static void main(String[] args) { + String text = "Цены: 25.98 USD, 44 ERR, 0.004 EU, 10.00 RUB, 99.95 EUR"; + Pattern pattern = Pattern.compile("\\b\\d{1,3}(\\.\\d{1,2})? (USD|RUB|EUR)\\b"); + Matcher matcher = pattern.matcher(text); + + System.out.println("Цены в USD, RUB, EUR:"); + while (matcher.find()) { + System.out.println(matcher.group()); + } + } +} diff --git a/students/23K0342/23K0342-p26/pom.xml b/students/23K0342/23K0342-p26/pom.xml new file mode 100644 index 000000000..b67daa6bf --- /dev/null +++ b/students/23K0342/23K0342-p26/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p26 + Массивы + diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java new file mode 100644 index 000000000..b265675d8 --- /dev/null +++ b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java @@ -0,0 +1,33 @@ +package ru.mirea.practice.s0000001; + +import java.util.Stack; + +public abstract class ArrayInverter { + public static void invertArray(int[] array) { + Stack stack = new Stack<>(); + + for (int element : array) { + stack.push(element); + } + + for (int i = 0; i < array.length; i++) { + array[i] = stack.pop(); + } + } + + public static void main(String[] args) { + int[] array = {1, 2, 3, 4, 5}; + + System.out.println("Исходный массив:"); + for (int num : array) { + System.out.print(num + " "); + } + + invertArray(array); + + System.out.println("\nИнвертированный массив:"); + for (int num : array) { + System.out.print(num + " "); + } + } +} diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java new file mode 100644 index 000000000..0de9d6905 --- /dev/null +++ b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java @@ -0,0 +1,53 @@ +package ru.mirea.practice.s0000001; + +import java.util.Arrays; +import java.util.Iterator; +import java.util.NoSuchElementException; + +public class CustomList implements Iterable { + private Object[] elements; + private int size; + + public CustomList() { + elements = new Object[10]; + size = 0; + } + + public void add(T element) { + if (size == elements.length) { + resize(); + } + elements[size++] = element; + } + + private void resize() { + elements = Arrays.copyOf(elements, elements.length * 2); + } + + public int size() { + return size; + } + + @Override + public Iterator iterator() { + return new CustomIterator(); + } + + private class CustomIterator implements Iterator { + private int currentIndex = 0; + + @Override + public boolean hasNext() { + return currentIndex < size; + } + + @Override + public T next() { + if (!hasNext()) { + throw new NoSuchElementException("Нет больше элементов в итераторе."); + } + return (T) elements[currentIndex++]; + } + } +} + diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java new file mode 100644 index 000000000..b89e47de8 --- /dev/null +++ b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -0,0 +1,12 @@ +package ru.mirea.practice.s0000001; + +public final class Main { + + private Main() { + + } + + public static void main(String[] args) { + System.out.println("первая практическая работа!"); + } +} diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java new file mode 100644 index 000000000..d9bdb5ee8 --- /dev/null +++ b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java @@ -0,0 +1,15 @@ +package ru.mirea.practice.s0000001; + +public abstract class TestCustomList { + public static void main(String[] args) { + CustomList list = new CustomList<>(); + list.add("Первый"); + list.add("Второй"); + list.add("Третий"); + + System.out.println("Элементы списка:"); + for (String item : list) { + System.out.println(item); + } + } +} diff --git a/students/23K0342/23K0342-p27/pom.xml b/students/23K0342/23K0342-p27/pom.xml new file mode 100644 index 000000000..d79f3e7ca --- /dev/null +++ b/students/23K0342/23K0342-p27/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p27 + Массивы + diff --git a/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java b/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java new file mode 100644 index 000000000..67253da3f --- /dev/null +++ b/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java @@ -0,0 +1,66 @@ +package ru.mirea.practice.s0000001; + +import java.util.LinkedList; + +public class HashTab { + private static final int SIZE = 10; + private LinkedList[] table; + + private static class Entry { + String key; + String value; + + Entry(String key, String value) { + this.key = key; + this.value = value; + } + } + + public void hashtabInit() { + table = new LinkedList[SIZE]; + for (int i = 0; i < SIZE; i++) { + table[i] = new LinkedList<>(); + } + } + + private int hashtabHash(String key) { + return Math.abs(key.hashCode() % SIZE); + } + + public void hashtabAdd(String key, String value) { + int index = hashtabHash(key); + for (Entry entry : table[index]) { + if (entry.key.equals(key)) { + entry.value = value; + return; + } + } + table[index].add(new Entry(key, value)); + } + + public String hashtabLookup(String key) { + int index = hashtabHash(key); + for (Entry entry : table[index]) { + if (entry.key.equals(key)) { + return entry.value; + } + } + return null; + } + + public void hashtabDelete(String key) { + int index = hashtabHash(key); + table[index].removeIf(entry -> entry.key.equals(key)); + } + + public void printTable() { + for (int i = 0; i < SIZE; i++) { + System.out.print("Index " + i + ": "); + for (Entry entry : table[i]) { + System.out.print("[" + entry.key + " -> " + entry.value + "] "); + } + System.out.println(); + } + } +} + diff --git a/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java new file mode 100644 index 000000000..d9f5ed478 --- /dev/null +++ b/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -0,0 +1,23 @@ +package ru.mirea.practice.s0000001; + +public abstract class Main { + public static void main(String[] args) { + HashTab hashtable = new HashTab(); + hashtable.hashtabInit(); + + hashtable.hashtabAdd("апельсин", "фрукты"); + hashtable.hashtabAdd("огурец", "овощи"); + hashtable.hashtabAdd("мандарин", "фрукты"); + + System.out.println("Поиск 'апельсин': " + hashtable.hashtabLookup("апельсин")); + System.out.println("Поиск 'огурец': " + hashtable.hashtabLookup("огурец")); + System.out.println("Поиск 'мандарин': " + hashtable.hashtabLookup("мандарин")); + + hashtable.printTable(); + + hashtable.hashtabDelete("огурец"); + System.out.println("После удаления 'огурец':"); + hashtable.printTable(); + } +} + diff --git a/students/23K0342/23K0342-p28/pom.xml b/students/23K0342/23K0342-p28/pom.xml new file mode 100644 index 000000000..231991c57 --- /dev/null +++ b/students/23K0342/23K0342-p28/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p28 + Массивы + diff --git a/students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java new file mode 100644 index 000000000..6a5f34aa1 --- /dev/null +++ b/students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -0,0 +1,22 @@ +package ru.mirea.practice.s0000001; + +import java.util.HashSet; +import java.util.TreeSet; + +public abstract class Main { + public static void main(String[] args) { + HashSet hashSet = new HashSet<>(); + hashSet.add("апельсин"); + hashSet.add("манадрин"); + hashSet.add("груша"); + hashSet.add("лимон"); + + TreeSet treeSet = new TreeSet<>(hashSet); + + System.out.println("Элементы TreeSet (упорядочены):"); + for (String item : treeSet) { + System.out.println(item); + } + } +} + diff --git a/students/23K0342/23K0342-p29/pom.xml b/students/23K0342/23K0342-p29/pom.xml new file mode 100644 index 000000000..28880901c --- /dev/null +++ b/students/23K0342/23K0342-p29/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p29 + Массивы + diff --git a/students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java b/students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java new file mode 100644 index 000000000..3d82f5aea --- /dev/null +++ b/students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java @@ -0,0 +1,37 @@ +package ru.mirea.practice.s0000001; + +import java.util.Scanner; + +public abstract class Milky { + public static void main(String[] args) { + try (Scanner scanner = new Scanner(System.in)) { + int n = scanner.nextInt(); + + if (n == 0) { + System.out.println(0); + return; + } + + int[][] matrix = new int[n][n]; + + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) { + matrix[i][j] = scanner.nextInt(); + } + } + + int roadCount = 0; + for (int i = 0; i < n; i++) { + for (int j = i + 1; j < n; j++) { + if (matrix[i][j] == 1) { + roadCount++; + } + } + } + + System.out.println(roadCount); + } + } +} + + diff --git a/students/23K0342/23K0342-p30_1/pom.xml b/students/23K0342/23K0342-p30_1/pom.xml new file mode 100644 index 000000000..caa68a471 --- /dev/null +++ b/students/23K0342/23K0342-p30_1/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p30_1 + Массивы + diff --git a/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java b/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java new file mode 100644 index 000000000..213ebd0f7 --- /dev/null +++ b/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java @@ -0,0 +1,55 @@ +package ru.mirea.practice.s0000001; + +class BinaryTree { + TreeNode root; + + public int height(TreeNode node) { + if (node == null) { + return 0; + } else { + int leftHeight = height(node.left); + int rightHeight = height(node.right); + return Math.max(leftHeight, rightHeight) + 1; + } + } + + public void reverse(TreeNode node) { + if (node == null) { + return; + } + TreeNode temp = node.left; + node.left = node.right; + node.right = temp; + + reverse(node.left); + reverse(node.right); + } + + public boolean lookup(TreeNode node, int target) { + if (node == null) { + return false; + } + if (node.data == target) { + return true; + } + return target < node.data ? lookup(node.left, target) : lookup(node.right, target); + } + + public int size(TreeNode node) { + if (node == null) { + return 0; + } + return size(node.left) + 1 + size(node.right); + } + + public boolean sameTree(TreeNode a, TreeNode b) { + if (a == null && b == null) { + return true; + } + if (a == null || b == null) { + return false; + } + return a.data == b.data && sameTree(a.left, b.left) && sameTree(a.right, b.right); + } +} + diff --git a/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java b/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java new file mode 100644 index 000000000..3450868b1 --- /dev/null +++ b/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java @@ -0,0 +1,13 @@ +package ru.mirea.practice.s0000001; + +class TreeNode { + int data; + TreeNode left; + TreeNode right; + + public TreeNode(int item) { + data = item; + left = right = null; + } +} + diff --git a/students/23K0342/pom.xml b/students/23K0342/pom.xml index 8a36aecc5..cb27256fa 100644 --- a/students/23K0342/pom.xml +++ b/students/23K0342/pom.xml @@ -33,6 +33,17 @@ 23K0342-p18 23K0342-p19 23K0342-p20 + 23K0342-p22 + 23K0342-p21 + 23K0342-p23 + 23K0342-p24 + 23K0342-p25 + 23K0342-p26 + 23K0342-p27 + 23K0342-p28 + 23K0342-p29 + 23K0342-p30_1 + From a455e6f03ac70606ce1c2adaae90fdb4c797767d Mon Sep 17 00:00:00 2001 From: juliavlv Date: Fri, 13 Dec 2024 19:15:59 +0300 Subject: [PATCH 03/12] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=2021-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 3cf035d48..4ba02204e 100644 --- a/pom.xml +++ b/pom.xml @@ -80,9 +80,8 @@ students/23K0145 students/23K0186 students/23K0755 - students/23K0342 students/23K1292 - + students/23K0342 From 4812af9f7437dee376b451e27eb94067d96fcc1a Mon Sep 17 00:00:00 2001 From: juliavlv Date: Fri, 13 Dec 2024 19:34:20 +0300 Subject: [PATCH 04/12] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=2020-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index db36cb4b0..36871139a 100644 --- a/pom.xml +++ b/pom.xml @@ -82,7 +82,6 @@ students/23K0755 students/23K0342 students/23K1292 - students/23K0342 From 88b93c3a11c84c75a8826cf68b552d36092f4514 Mon Sep 17 00:00:00 2001 From: juliavlv Date: Fri, 13 Dec 2024 21:42:51 +0300 Subject: [PATCH 05/12] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=2020-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 36871139a..4ba02204e 100644 --- a/pom.xml +++ b/pom.xml @@ -80,8 +80,8 @@ students/23K0145 students/23K0186 students/23K0755 - students/23K0342 students/23K1292 + students/23K0342 From 231fcc24f19437e3721c383a21b14d8daa844f16 Mon Sep 17 00:00:00 2001 From: juliavlv Date: Sat, 14 Dec 2024 14:06:11 +0300 Subject: [PATCH 06/12] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=2020-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/ru/mirea/practice/s0000001/Converter.java | 1 + students/23K0342/23K0342-p21/src/main/java/t2/Array.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/Calculator.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/Rpn.java | 1 + .../main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java | 2 +- .../java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java | 1 + .../ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java | 2 ++ .../java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java | 1 + .../ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java | 1 + .../java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java | 1 + .../java/ru/mirea/practice/s0000001/task2/AbstractQueue.java | 1 + .../main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java | 1 + .../java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java | 1 + .../main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java | 1 + .../java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/task2/Queue.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/task1/Complex.java | 1 + .../mirea/practice/s0000001/task1/ComplexAbstractFactory.java | 1 + .../java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/task1/Use.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/DateValidator.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/EmailChecker.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/Main.java | 1 + .../main/java/ru/mirea/practice/s0000001/PriceExtractor.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/CustomList.java | 2 +- .../src/main/java/ru/mirea/practice/s0000001/Main.java | 1 + .../main/java/ru/mirea/practice/s0000001/TestCustomList.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/HashTab.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/Main.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/Main.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/Milky.java | 2 +- .../src/main/java/ru/mirea/practice/s0000001/BinaryTree.java | 1 + .../src/main/java/ru/mirea/practice/s0000001/TreeNode.java | 1 + 34 files changed, 35 insertions(+), 3 deletions(-) diff --git a/students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java b/students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java index 3302294d7..338e888f0 100644 --- a/students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java +++ b/students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java @@ -18,3 +18,4 @@ public static void main(String[] args) { System.out.println("Список чисел: " + intList); } } +// diff --git a/students/23K0342/23K0342-p21/src/main/java/t2/Array.java b/students/23K0342/23K0342-p21/src/main/java/t2/Array.java index 2f71348a8..8b8ff02f6 100644 --- a/students/23K0342/23K0342-p21/src/main/java/t2/Array.java +++ b/students/23K0342/23K0342-p21/src/main/java/t2/Array.java @@ -50,3 +50,4 @@ public static void main(String[] args) { System.out.println("String array: " + stringStorage); } } +// diff --git a/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java b/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java index aa0365d4b..f7dd2a217 100644 --- a/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java +++ b/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java @@ -60,3 +60,4 @@ private double applyOperator(double a, double b, String operator) { } } } +// diff --git a/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java b/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java index e1343e326..7e145a54c 100644 --- a/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java +++ b/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java @@ -91,3 +91,4 @@ public static void main(String[] args) { }); } } +// diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java index 83afade3a..c58ef543d 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java @@ -53,4 +53,4 @@ public void clear() { rear = 0; } } - +// diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java index 08f3759a1..8ce6985cc 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java @@ -53,4 +53,5 @@ public void clear() { rear = 0; } } +// diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java index 3c640d2ee..41af58adb 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java @@ -17,3 +17,5 @@ public static void main(String[] args) { } } +// + diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java index 3e8a48fa0..657bde07e 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java @@ -54,4 +54,5 @@ public static void clear() { rear = 0; } } +// diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java index 6d7fcdb89..d29a9568e 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java @@ -14,4 +14,5 @@ public static void main(String[] args) { System.out.println(ArrayQueueModule.isEmpty()); // true } } +// diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java index 01c7dca9e..687725b63 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java @@ -16,4 +16,5 @@ public static void main(String[] args) { System.out.println(queue.isEmpty()); // true } } +// diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java index fab4c665e..2b0db4d59 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java @@ -18,4 +18,5 @@ public void clear() { size = 0; } } +// diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java index e925d1726..b1954112b 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java @@ -44,3 +44,4 @@ public Object element() { return elements[front]; } } +// diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java index 674ae18ee..27a5baf3c 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java @@ -16,4 +16,5 @@ public static void main(String[] args) { System.out.println(queue.isEmpty()); } } +// diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java index cc9d6d238..7230f3f4f 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java @@ -50,3 +50,4 @@ public Object element() { return head.value; } } +// diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java index b3105fe71..9fd9e6bb9 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java @@ -16,4 +16,5 @@ public static void main(String[] args) { System.out.println(queue.isEmpty()); } } +// diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java index 0544032f8..7afe843d0 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java @@ -13,3 +13,4 @@ public interface Queue { void clear(); } +// diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java index 5afd6813d..3a9ae3136 100644 --- a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java +++ b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java @@ -22,4 +22,5 @@ public String toString() { return real + " + " + imaginary + "i"; } } +// diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java index be1e423b4..bb04879bc 100644 --- a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java +++ b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java @@ -6,4 +6,5 @@ public interface ComplexAbstractFactory { Complex createComplex(int real, int imaginary); } +// diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java index b5df50284..64ce90854 100644 --- a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java +++ b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java @@ -12,3 +12,4 @@ public Complex createComplex(int real, int imaginary) { return new Complex(real, imaginary); } } +// diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java index 3948b99ef..fdfae3273 100644 --- a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java +++ b/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java @@ -11,4 +11,5 @@ public static void main(String[] args) { System.out.println("Custom complex number: " + customComplex); } } +// diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java index fb7b8d972..42357f407 100644 --- a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java +++ b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java @@ -20,3 +20,4 @@ public static void main(String[] args) { } } } +// diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java index fd0347b03..3845ea36c 100644 --- a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java +++ b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java @@ -27,3 +27,4 @@ public static void main(String[] args) { } } } +// diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java index b89e47de8..6d75ba81e 100644 --- a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java +++ b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -10,3 +10,4 @@ public static void main(String[] args) { System.out.println("первая практическая работа!"); } } +// diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java index 37a81626b..d4a142b5c 100644 --- a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java +++ b/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java @@ -15,3 +15,4 @@ public static void main(String[] args) { } } } +// diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java index b265675d8..21fad10ec 100644 --- a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java +++ b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java @@ -31,3 +31,4 @@ public static void main(String[] args) { } } } +// diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java index 0de9d6905..293cc2e51 100644 --- a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java +++ b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java @@ -50,4 +50,4 @@ public T next() { } } } - +// diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java index b89e47de8..6d75ba81e 100644 --- a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java +++ b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -10,3 +10,4 @@ public static void main(String[] args) { System.out.println("первая практическая работа!"); } } +// diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java index d9bdb5ee8..2b837d87d 100644 --- a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java +++ b/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java @@ -13,3 +13,4 @@ public static void main(String[] args) { } } } +// diff --git a/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java b/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java index 67253da3f..3b99861e6 100644 --- a/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java +++ b/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java @@ -63,4 +63,5 @@ public void printTable() { } } } +// diff --git a/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java index d9f5ed478..266fe472d 100644 --- a/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java +++ b/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -20,4 +20,5 @@ public static void main(String[] args) { hashtable.printTable(); } } +// diff --git a/students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java index 6a5f34aa1..499aa4a80 100644 --- a/students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java +++ b/students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -19,4 +19,5 @@ public static void main(String[] args) { } } } +// diff --git a/students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java b/students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java index 3d82f5aea..41c50173f 100644 --- a/students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java +++ b/students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java @@ -33,5 +33,5 @@ public static void main(String[] args) { } } } - +// diff --git a/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java b/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java index 213ebd0f7..bcd210977 100644 --- a/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java +++ b/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java @@ -52,4 +52,5 @@ public boolean sameTree(TreeNode a, TreeNode b) { return a.data == b.data && sameTree(a.left, b.left) && sameTree(a.right, b.right); } } +// diff --git a/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java b/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java index 3450868b1..65d58fc9c 100644 --- a/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java +++ b/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java @@ -11,3 +11,4 @@ public TreeNode(int item) { } } +// From 7d8998462cb863a760aca5138614a83827107507 Mon Sep 17 00:00:00 2001 From: juliavlv Date: Sat, 14 Dec 2024 14:12:53 +0300 Subject: [PATCH 07/12] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=2020-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java index c58ef543d..83afade3a 100644 --- a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java +++ b/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java @@ -53,4 +53,4 @@ public void clear() { rear = 0; } } -// + From a0b138b5efe2308dabbd2fa7fc57885a0ac4dec7 Mon Sep 17 00:00:00 2001 From: juliavlv Date: Mon, 16 Dec 2024 00:00:18 +0300 Subject: [PATCH 08/12] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=2021-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- students/23K0342/23K0342-p25/pom.xml | 13 ------------ students/23K0342/23K0342-p26/pom.xml | 13 ------------ students/23K0342/23K0342-p27/pom.xml | 13 ------------ students/23K0342/23K0342-p28/pom.xml | 13 ------------ students/23K0342/23K0342-p29/pom.xml | 13 ------------ students/23K0342/23K0342-p30_1/pom.xml | 13 ------------ .../{23K0342-p21 => 23K0342-pr21}/pom.xml | 2 +- .../ru/mirea/practice/s0000001/Converter.java | 0 .../src/main/java/t2/Array.java | 0 .../{23K0342-p22 => 23K0342-pr22}/pom.xml | 2 +- .../mirea/practice/s0000001/Calculator.java | 0 .../java/ru/mirea/practice/s0000001/Rpn.java | 0 .../{23K0342-p23 => 23K0342-pr23}/pom.xml | 2 +- .../practice/s0000001/task1/ArrayQueue.java | 0 .../s0000001/task1/ArrayQueueAdT.java | 0 .../s0000001/task1/ArrayQueueAdTtest.java | 0 .../s0000001/task1/ArrayQueueModule.java | 0 .../s0000001/task1/ArrayQueueModuleTest.java | 0 .../s0000001/task1/ArrayQueueTest.java | 0 .../s0000001/task2/AbstractQueue.java | 0 .../practice/s0000001/task2/ArrayQueue.java | 0 .../s0000001/task2/ArrayQueueTest.java | 0 .../practice/s0000001/task2/LinkedQueue.java | 0 .../s0000001/task2/LinkedQueueTest.java | 0 .../mirea/practice/s0000001/task2/Queue.java | 0 .../{23K0342-p24 => 23K0342-pr24}/pom.xml | 2 +- .../practice/s0000001/task1/Complex.java | 0 .../task1/ComplexAbstractFactory.java | 0 .../s0000001/task1/ConcreteFactory.java | 0 .../ru/mirea/practice/s0000001/task1/Use.java | 0 students/23K0342/23K0342-pr25/pom.xml | 13 ++++++++++++ .../practice/s0000001/DateValidator.java | 0 .../mirea/practice/s0000001/EmailChecker.java | 0 .../java/ru/mirea/practice/s0000001/Main.java | 0 .../practice/s0000001/PriceExtractor.java | 0 students/23K0342/23K0342-pr26/pom.xml | 13 ++++++++++++ .../practice/s0000001/ArrayInverter.java | 0 .../mirea/practice/s0000001/CustomList.java | 0 .../java/ru/mirea/practice/s0000001/Main.java | 0 .../practice/s0000001/TestCustomList.java | 0 students/23K0342/23K0342-pr27/pom.xml | 13 ++++++++++++ .../ru/mirea/practice/s0000001/HashTab.java | 0 .../java/ru/mirea/practice/s0000001/Main.java | 0 students/23K0342/23K0342-pr28/pom.xml | 13 ++++++++++++ .../java/ru/mirea/practice/s0000001/Main.java | 0 students/23K0342/23K0342-pr29/pom.xml | 13 ++++++++++++ .../ru/mirea/practice/s0000001/Milky.java | 0 students/23K0342/23K0342-pr30_1/pom.xml | 13 ++++++++++++ .../mirea/practice/s0000001/BinaryTree.java | 0 .../ru/mirea/practice/s0000001/TreeNode.java | 0 students/23K0342/pom.xml | 21 ++++++++++--------- 51 files changed, 93 insertions(+), 92 deletions(-) delete mode 100644 students/23K0342/23K0342-p25/pom.xml delete mode 100644 students/23K0342/23K0342-p26/pom.xml delete mode 100644 students/23K0342/23K0342-p27/pom.xml delete mode 100644 students/23K0342/23K0342-p28/pom.xml delete mode 100644 students/23K0342/23K0342-p29/pom.xml delete mode 100644 students/23K0342/23K0342-p30_1/pom.xml rename students/23K0342/{23K0342-p21 => 23K0342-pr21}/pom.xml (92%) rename students/23K0342/{23K0342-p21 => 23K0342-pr21}/src/main/java/ru/mirea/practice/s0000001/Converter.java (100%) rename students/23K0342/{23K0342-p21 => 23K0342-pr21}/src/main/java/t2/Array.java (100%) rename students/23K0342/{23K0342-p22 => 23K0342-pr22}/pom.xml (92%) rename students/23K0342/{23K0342-p22 => 23K0342-pr22}/src/main/java/ru/mirea/practice/s0000001/Calculator.java (100%) rename students/23K0342/{23K0342-p22 => 23K0342-pr22}/src/main/java/ru/mirea/practice/s0000001/Rpn.java (100%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/pom.xml (92%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java (100%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java (100%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java (100%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java (100%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java (100%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java (100%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java (100%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java (100%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java (100%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java (100%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java (100%) rename students/23K0342/{23K0342-p23 => 23K0342-pr23}/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java (100%) rename students/23K0342/{23K0342-p24 => 23K0342-pr24}/pom.xml (92%) rename students/23K0342/{23K0342-p24 => 23K0342-pr24}/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java (100%) rename students/23K0342/{23K0342-p24 => 23K0342-pr24}/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java (100%) rename students/23K0342/{23K0342-p24 => 23K0342-pr24}/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java (100%) rename students/23K0342/{23K0342-p24 => 23K0342-pr24}/src/main/java/ru/mirea/practice/s0000001/task1/Use.java (100%) create mode 100644 students/23K0342/23K0342-pr25/pom.xml rename students/23K0342/{23K0342-p25 => 23K0342-pr25}/src/main/java/ru/mirea/practice/s0000001/DateValidator.java (100%) rename students/23K0342/{23K0342-p25 => 23K0342-pr25}/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java (100%) rename students/23K0342/{23K0342-p25 => 23K0342-pr25}/src/main/java/ru/mirea/practice/s0000001/Main.java (100%) rename students/23K0342/{23K0342-p25 => 23K0342-pr25}/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java (100%) create mode 100644 students/23K0342/23K0342-pr26/pom.xml rename students/23K0342/{23K0342-p26 => 23K0342-pr26}/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java (100%) rename students/23K0342/{23K0342-p26 => 23K0342-pr26}/src/main/java/ru/mirea/practice/s0000001/CustomList.java (100%) rename students/23K0342/{23K0342-p26 => 23K0342-pr26}/src/main/java/ru/mirea/practice/s0000001/Main.java (100%) rename students/23K0342/{23K0342-p26 => 23K0342-pr26}/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java (100%) create mode 100644 students/23K0342/23K0342-pr27/pom.xml rename students/23K0342/{23K0342-p27 => 23K0342-pr27}/src/main/java/ru/mirea/practice/s0000001/HashTab.java (100%) rename students/23K0342/{23K0342-p27 => 23K0342-pr27}/src/main/java/ru/mirea/practice/s0000001/Main.java (100%) create mode 100644 students/23K0342/23K0342-pr28/pom.xml rename students/23K0342/{23K0342-p28 => 23K0342-pr28}/src/main/java/ru/mirea/practice/s0000001/Main.java (100%) create mode 100644 students/23K0342/23K0342-pr29/pom.xml rename students/23K0342/{23K0342-p29 => 23K0342-pr29}/src/main/java/ru/mirea/practice/s0000001/Milky.java (100%) create mode 100644 students/23K0342/23K0342-pr30_1/pom.xml rename students/23K0342/{23K0342-p30_1 => 23K0342-pr30_1}/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java (100%) rename students/23K0342/{23K0342-p30_1 => 23K0342-pr30_1}/src/main/java/ru/mirea/practice/s0000001/TreeNode.java (100%) diff --git a/students/23K0342/23K0342-p25/pom.xml b/students/23K0342/23K0342-p25/pom.xml deleted file mode 100644 index b5df35f91..000000000 --- a/students/23K0342/23K0342-p25/pom.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - 4.0.0 - - 23K0342 - ru.mirea.practice - 2024.1 - ../pom.xml - - 23K0342-p25 - Массивы - diff --git a/students/23K0342/23K0342-p26/pom.xml b/students/23K0342/23K0342-p26/pom.xml deleted file mode 100644 index b67daa6bf..000000000 --- a/students/23K0342/23K0342-p26/pom.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - 4.0.0 - - 23K0342 - ru.mirea.practice - 2024.1 - ../pom.xml - - 23K0342-p26 - Массивы - diff --git a/students/23K0342/23K0342-p27/pom.xml b/students/23K0342/23K0342-p27/pom.xml deleted file mode 100644 index d79f3e7ca..000000000 --- a/students/23K0342/23K0342-p27/pom.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - 4.0.0 - - 23K0342 - ru.mirea.practice - 2024.1 - ../pom.xml - - 23K0342-p27 - Массивы - diff --git a/students/23K0342/23K0342-p28/pom.xml b/students/23K0342/23K0342-p28/pom.xml deleted file mode 100644 index 231991c57..000000000 --- a/students/23K0342/23K0342-p28/pom.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - 4.0.0 - - 23K0342 - ru.mirea.practice - 2024.1 - ../pom.xml - - 23K0342-p28 - Массивы - diff --git a/students/23K0342/23K0342-p29/pom.xml b/students/23K0342/23K0342-p29/pom.xml deleted file mode 100644 index 28880901c..000000000 --- a/students/23K0342/23K0342-p29/pom.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - 4.0.0 - - 23K0342 - ru.mirea.practice - 2024.1 - ../pom.xml - - 23K0342-p29 - Массивы - diff --git a/students/23K0342/23K0342-p30_1/pom.xml b/students/23K0342/23K0342-p30_1/pom.xml deleted file mode 100644 index caa68a471..000000000 --- a/students/23K0342/23K0342-p30_1/pom.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - 4.0.0 - - 23K0342 - ru.mirea.practice - 2024.1 - ../pom.xml - - 23K0342-p30_1 - Массивы - diff --git a/students/23K0342/23K0342-p21/pom.xml b/students/23K0342/23K0342-pr21/pom.xml similarity index 92% rename from students/23K0342/23K0342-p21/pom.xml rename to students/23K0342/23K0342-pr21/pom.xml index fb9c1f7d7..d7df3bb06 100644 --- a/students/23K0342/23K0342-p21/pom.xml +++ b/students/23K0342/23K0342-pr21/pom.xml @@ -8,6 +8,6 @@ 2024.1 ../pom.xml - 23K0342-p21 + 23K0342-pr21 Массивы diff --git a/students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java b/students/23K0342/23K0342-pr21/src/main/java/ru/mirea/practice/s0000001/Converter.java similarity index 100% rename from students/23K0342/23K0342-p21/src/main/java/ru/mirea/practice/s0000001/Converter.java rename to students/23K0342/23K0342-pr21/src/main/java/ru/mirea/practice/s0000001/Converter.java diff --git a/students/23K0342/23K0342-p21/src/main/java/t2/Array.java b/students/23K0342/23K0342-pr21/src/main/java/t2/Array.java similarity index 100% rename from students/23K0342/23K0342-p21/src/main/java/t2/Array.java rename to students/23K0342/23K0342-pr21/src/main/java/t2/Array.java diff --git a/students/23K0342/23K0342-p22/pom.xml b/students/23K0342/23K0342-pr22/pom.xml similarity index 92% rename from students/23K0342/23K0342-p22/pom.xml rename to students/23K0342/23K0342-pr22/pom.xml index 851a05274..9c5ef4d1c 100644 --- a/students/23K0342/23K0342-p22/pom.xml +++ b/students/23K0342/23K0342-pr22/pom.xml @@ -8,6 +8,6 @@ 2024.1 ../pom.xml - 23K0342-p22 + 23K0342-pr22 Массивы diff --git a/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java b/students/23K0342/23K0342-pr22/src/main/java/ru/mirea/practice/s0000001/Calculator.java similarity index 100% rename from students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Calculator.java rename to students/23K0342/23K0342-pr22/src/main/java/ru/mirea/practice/s0000001/Calculator.java diff --git a/students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java b/students/23K0342/23K0342-pr22/src/main/java/ru/mirea/practice/s0000001/Rpn.java similarity index 100% rename from students/23K0342/23K0342-p22/src/main/java/ru/mirea/practice/s0000001/Rpn.java rename to students/23K0342/23K0342-pr22/src/main/java/ru/mirea/practice/s0000001/Rpn.java diff --git a/students/23K0342/23K0342-p23/pom.xml b/students/23K0342/23K0342-pr23/pom.xml similarity index 92% rename from students/23K0342/23K0342-p23/pom.xml rename to students/23K0342/23K0342-pr23/pom.xml index e2c90628c..3cd0dd2cf 100644 --- a/students/23K0342/23K0342-p23/pom.xml +++ b/students/23K0342/23K0342-pr23/pom.xml @@ -8,6 +8,6 @@ 2024.1 ../pom.xml - 23K0342-p23 + 23K0342-pr23 Массивы diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java b/students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java similarity index 100% rename from students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java rename to students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueue.java diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java b/students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java similarity index 100% rename from students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java rename to students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdT.java diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java b/students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java similarity index 100% rename from students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java rename to students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueAdTtest.java diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java b/students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java similarity index 100% rename from students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java rename to students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModule.java diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java b/students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java similarity index 100% rename from students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java rename to students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueModuleTest.java diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java b/students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java similarity index 100% rename from students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java rename to students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task1/ArrayQueueTest.java diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java b/students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java similarity index 100% rename from students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java rename to students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task2/AbstractQueue.java diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java b/students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java similarity index 100% rename from students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java rename to students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueue.java diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java b/students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java similarity index 100% rename from students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java rename to students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task2/ArrayQueueTest.java diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java b/students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java similarity index 100% rename from students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java rename to students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueue.java diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java b/students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java similarity index 100% rename from students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java rename to students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task2/LinkedQueueTest.java diff --git a/students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java b/students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java similarity index 100% rename from students/23K0342/23K0342-p23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java rename to students/23K0342/23K0342-pr23/src/main/java/ru/mirea/practice/s0000001/task2/Queue.java diff --git a/students/23K0342/23K0342-p24/pom.xml b/students/23K0342/23K0342-pr24/pom.xml similarity index 92% rename from students/23K0342/23K0342-p24/pom.xml rename to students/23K0342/23K0342-pr24/pom.xml index f06f2d003..babd7f4be 100644 --- a/students/23K0342/23K0342-p24/pom.xml +++ b/students/23K0342/23K0342-pr24/pom.xml @@ -8,6 +8,6 @@ 2024.1 ../pom.xml - 23K0342-p24 + 23K0342-pr24 Массивы diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java b/students/23K0342/23K0342-pr24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java similarity index 100% rename from students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java rename to students/23K0342/23K0342-pr24/src/main/java/ru/mirea/practice/s0000001/task1/Complex.java diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java b/students/23K0342/23K0342-pr24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java similarity index 100% rename from students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java rename to students/23K0342/23K0342-pr24/src/main/java/ru/mirea/practice/s0000001/task1/ComplexAbstractFactory.java diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java b/students/23K0342/23K0342-pr24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java similarity index 100% rename from students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java rename to students/23K0342/23K0342-pr24/src/main/java/ru/mirea/practice/s0000001/task1/ConcreteFactory.java diff --git a/students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java b/students/23K0342/23K0342-pr24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java similarity index 100% rename from students/23K0342/23K0342-p24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java rename to students/23K0342/23K0342-pr24/src/main/java/ru/mirea/practice/s0000001/task1/Use.java diff --git a/students/23K0342/23K0342-pr25/pom.xml b/students/23K0342/23K0342-pr25/pom.xml new file mode 100644 index 000000000..b4a6bf97c --- /dev/null +++ b/students/23K0342/23K0342-pr25/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-pr25 + Массивы + diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java b/students/23K0342/23K0342-pr25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java similarity index 100% rename from students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java rename to students/23K0342/23K0342-pr25/src/main/java/ru/mirea/practice/s0000001/DateValidator.java diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java b/students/23K0342/23K0342-pr25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java similarity index 100% rename from students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java rename to students/23K0342/23K0342-pr25/src/main/java/ru/mirea/practice/s0000001/EmailChecker.java diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-pr25/src/main/java/ru/mirea/practice/s0000001/Main.java similarity index 100% rename from students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/Main.java rename to students/23K0342/23K0342-pr25/src/main/java/ru/mirea/practice/s0000001/Main.java diff --git a/students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java b/students/23K0342/23K0342-pr25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java similarity index 100% rename from students/23K0342/23K0342-p25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java rename to students/23K0342/23K0342-pr25/src/main/java/ru/mirea/practice/s0000001/PriceExtractor.java diff --git a/students/23K0342/23K0342-pr26/pom.xml b/students/23K0342/23K0342-pr26/pom.xml new file mode 100644 index 000000000..8a89df219 --- /dev/null +++ b/students/23K0342/23K0342-pr26/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-pr26 + Массивы + diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java b/students/23K0342/23K0342-pr26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java similarity index 100% rename from students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java rename to students/23K0342/23K0342-pr26/src/main/java/ru/mirea/practice/s0000001/ArrayInverter.java diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java b/students/23K0342/23K0342-pr26/src/main/java/ru/mirea/practice/s0000001/CustomList.java similarity index 100% rename from students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/CustomList.java rename to students/23K0342/23K0342-pr26/src/main/java/ru/mirea/practice/s0000001/CustomList.java diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-pr26/src/main/java/ru/mirea/practice/s0000001/Main.java similarity index 100% rename from students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/Main.java rename to students/23K0342/23K0342-pr26/src/main/java/ru/mirea/practice/s0000001/Main.java diff --git a/students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java b/students/23K0342/23K0342-pr26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java similarity index 100% rename from students/23K0342/23K0342-p26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java rename to students/23K0342/23K0342-pr26/src/main/java/ru/mirea/practice/s0000001/TestCustomList.java diff --git a/students/23K0342/23K0342-pr27/pom.xml b/students/23K0342/23K0342-pr27/pom.xml new file mode 100644 index 000000000..6744807ab --- /dev/null +++ b/students/23K0342/23K0342-pr27/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-pr27 + Массивы + diff --git a/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java b/students/23K0342/23K0342-pr27/src/main/java/ru/mirea/practice/s0000001/HashTab.java similarity index 100% rename from students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/HashTab.java rename to students/23K0342/23K0342-pr27/src/main/java/ru/mirea/practice/s0000001/HashTab.java diff --git a/students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-pr27/src/main/java/ru/mirea/practice/s0000001/Main.java similarity index 100% rename from students/23K0342/23K0342-p27/src/main/java/ru/mirea/practice/s0000001/Main.java rename to students/23K0342/23K0342-pr27/src/main/java/ru/mirea/practice/s0000001/Main.java diff --git a/students/23K0342/23K0342-pr28/pom.xml b/students/23K0342/23K0342-pr28/pom.xml new file mode 100644 index 000000000..7739ce79d --- /dev/null +++ b/students/23K0342/23K0342-pr28/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-pr28 + Массивы + diff --git a/students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-pr28/src/main/java/ru/mirea/practice/s0000001/Main.java similarity index 100% rename from students/23K0342/23K0342-p28/src/main/java/ru/mirea/practice/s0000001/Main.java rename to students/23K0342/23K0342-pr28/src/main/java/ru/mirea/practice/s0000001/Main.java diff --git a/students/23K0342/23K0342-pr29/pom.xml b/students/23K0342/23K0342-pr29/pom.xml new file mode 100644 index 000000000..8e0949765 --- /dev/null +++ b/students/23K0342/23K0342-pr29/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-pr29 + Массивы + diff --git a/students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java b/students/23K0342/23K0342-pr29/src/main/java/ru/mirea/practice/s0000001/Milky.java similarity index 100% rename from students/23K0342/23K0342-p29/src/main/java/ru/mirea/practice/s0000001/Milky.java rename to students/23K0342/23K0342-pr29/src/main/java/ru/mirea/practice/s0000001/Milky.java diff --git a/students/23K0342/23K0342-pr30_1/pom.xml b/students/23K0342/23K0342-pr30_1/pom.xml new file mode 100644 index 000000000..3e106690d --- /dev/null +++ b/students/23K0342/23K0342-pr30_1/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-pr30_1 + Массивы + diff --git a/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java b/students/23K0342/23K0342-pr30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java similarity index 100% rename from students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java rename to students/23K0342/23K0342-pr30_1/src/main/java/ru/mirea/practice/s0000001/BinaryTree.java diff --git a/students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java b/students/23K0342/23K0342-pr30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java similarity index 100% rename from students/23K0342/23K0342-p30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java rename to students/23K0342/23K0342-pr30_1/src/main/java/ru/mirea/practice/s0000001/TreeNode.java diff --git a/students/23K0342/pom.xml b/students/23K0342/pom.xml index cb27256fa..728457eb1 100644 --- a/students/23K0342/pom.xml +++ b/students/23K0342/pom.xml @@ -33,16 +33,17 @@ 23K0342-p18 23K0342-p19 23K0342-p20 - 23K0342-p22 - 23K0342-p21 - 23K0342-p23 - 23K0342-p24 - 23K0342-p25 - 23K0342-p26 - 23K0342-p27 - 23K0342-p28 - 23K0342-p29 - 23K0342-p30_1 + 23K0342-pr22 + 23K0342-pr21 + 23K0342-pr23 + 23K0342-pr24 + 23K0342-pr25 + 23K0342-pr26 + 23K0342-pr27 + 23K0342-pr28 + 23K0342-pr29 + 23K0342-pr30_1 + From 90a50b0c38862898e4e9c1b8387aa5828fe9819d Mon Sep 17 00:00:00 2001 From: juliavlv Date: Mon, 16 Dec 2024 00:05:00 +0300 Subject: [PATCH 09/12] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=2021-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4ba02204e..9242450d1 100644 --- a/pom.xml +++ b/pom.xml @@ -81,6 +81,7 @@ students/23K0186 students/23K0755 students/23K1292 + students/23L0908 students/23K0342 @@ -148,7 +149,7 @@ com.puppycrawl.tools checkstyle - 10.19.0 + 10.20.1 From 379ca9457b4617ff8b07b5e724efafe80dafee11 Mon Sep 17 00:00:00 2001 From: juliavlv Date: Mon, 16 Dec 2024 00:16:45 +0300 Subject: [PATCH 10/12] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=2021-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9242450d1..879c9bd1a 100644 --- a/pom.xml +++ b/pom.xml @@ -149,7 +149,7 @@ com.puppycrawl.tools checkstyle - 10.20.1 + 10.19.0 From 157ef94e3ca1ab21d1ab2b4d30165d0ed23a567d Mon Sep 17 00:00:00 2001 From: juliavlv Date: Mon, 16 Dec 2024 00:31:19 +0300 Subject: [PATCH 11/12] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=2021-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 879c9bd1a..9242450d1 100644 --- a/pom.xml +++ b/pom.xml @@ -149,7 +149,7 @@ com.puppycrawl.tools checkstyle - 10.19.0 + 10.20.1 From 926abff85901f05117a778f3d7cce13f27c8ad37 Mon Sep 17 00:00:00 2001 From: juliavlv Date: Mon, 16 Dec 2024 20:10:17 +0300 Subject: [PATCH 12/12] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=2021-31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- students/23K0342/23K0342-p30_2/pom.xml | 13 ++ .../practice/s0000001/BinarySearchTree.java | 115 ++++++++++++ .../s0000001/BinarySearchTreeTest.java | 31 ++++ .../java/ru/mirea/practice/s0000001/Node.java | 13 ++ students/23K0342/23K0342-p31/pom.xml | 13 ++ .../mirea/practice/s0000001/FileManager.java | 43 +++++ .../java/ru/mirea/practice/s0000001/Main.java | 60 ++++++ .../ru/mirea/practice/s0000001/Processor.java | 26 +++ .../mirea/practice/s0000001/TwoThreeTree.java | 174 ++++++++++++++++++ students/23K0342/23K0342-p32/pom.xml | 13 ++ .../practice/s0000001/JohnsonTrotter.java | 74 ++++++++ students/23K0342/pom.xml | 3 + 12 files changed, 578 insertions(+) create mode 100644 students/23K0342/23K0342-p30_2/pom.xml create mode 100644 students/23K0342/23K0342-p30_2/src/main/java/ru/mirea/practice/s0000001/BinarySearchTree.java create mode 100644 students/23K0342/23K0342-p30_2/src/main/java/ru/mirea/practice/s0000001/BinarySearchTreeTest.java create mode 100644 students/23K0342/23K0342-p30_2/src/main/java/ru/mirea/practice/s0000001/Node.java create mode 100644 students/23K0342/23K0342-p31/pom.xml create mode 100644 students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/FileManager.java create mode 100644 students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/Main.java create mode 100644 students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/Processor.java create mode 100644 students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/TwoThreeTree.java create mode 100644 students/23K0342/23K0342-p32/pom.xml create mode 100644 students/23K0342/23K0342-p32/src/main/java/ru/mirea/practice/s0000001/JohnsonTrotter.java diff --git a/students/23K0342/23K0342-p30_2/pom.xml b/students/23K0342/23K0342-p30_2/pom.xml new file mode 100644 index 000000000..dd0401e75 --- /dev/null +++ b/students/23K0342/23K0342-p30_2/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p30_2 + Массивы + diff --git a/students/23K0342/23K0342-p30_2/src/main/java/ru/mirea/practice/s0000001/BinarySearchTree.java b/students/23K0342/23K0342-p30_2/src/main/java/ru/mirea/practice/s0000001/BinarySearchTree.java new file mode 100644 index 000000000..ad14b603c --- /dev/null +++ b/students/23K0342/23K0342-p30_2/src/main/java/ru/mirea/practice/s0000001/BinarySearchTree.java @@ -0,0 +1,115 @@ +package ru.mirea.practice.s0000001; + +class BinarySearchTree { + Node root; + + public BinarySearchTree() { + root = null; + } + + public void insert(int data) { + root = insertRec(root, data); + } + + private Node insertRec(Node root, int data) { + if (root == null) { + root = new Node(data); + return root; + } + + if (data < root.data) { + root.left = insertRec(root.left, data); + } else if (data > root.data) { + root.right = insertRec(root.right, data); + } + + return root; + } + + public void delete(int data) { + root = deleteRec(root, data); + } + + private Node deleteRec(Node root, int data) { + if (root == null) { + return root; + } + + if (data < root.data) { + root.left = deleteRec(root.left, data); + } else if (data > root.data) { + root.right = deleteRec(root.right, data); + } else { + + if (root.left == null) { + return root.right; + } else if (root.right == null) { + return root.left; + } + + root.data = minValue(root.right); + + root.right = deleteRec(root.right, root.data); + } + + return root; + } + + private int minValue(Node root) { + int minValue = root.data; + while (root.left != null) { + minValue = root.left.data; + root = root.left; + } + return minValue; + } + + public void printInOrder() { + printInOrderRec(root); + } + + private void printInOrderRec(Node root) { + if (root != null) { + printInOrderRec(root.left); + System.out.print(root.data + " "); + printInOrderRec(root.right); + } + } + + public void destroy() { + root = destroyRec(root); + } + + private Node destroyRec(Node root) { + if (root == null) { + return null; + } + root.left = destroyRec(root.left); + root.right = destroyRec(root.right); + root = null; + return root; + } + + public Node findMin() { + return findMinRec(root); + } + + private Node findMinRec(Node root) { + if (root == null || root.left == null) { + return root; + } + return findMinRec(root.left); + } + + public Node findMax() { + return findMaxRec(root); + } + + private Node findMaxRec(Node root) { + if (root == null || root.right == null) { + return root; + } + return findMaxRec(root.right); + } +} + diff --git a/students/23K0342/23K0342-p30_2/src/main/java/ru/mirea/practice/s0000001/BinarySearchTreeTest.java b/students/23K0342/23K0342-p30_2/src/main/java/ru/mirea/practice/s0000001/BinarySearchTreeTest.java new file mode 100644 index 000000000..26acdbe8b --- /dev/null +++ b/students/23K0342/23K0342-p30_2/src/main/java/ru/mirea/practice/s0000001/BinarySearchTreeTest.java @@ -0,0 +1,31 @@ +package ru.mirea.practice.s0000001; + +public abstract class BinarySearchTreeTest { + public static void main(String[] args) { + BinarySearchTree tree = new BinarySearchTree(); + + int[] nodes = {20, 8, 22, 4, 12, 10, 14, 25, 3, 7}; + for (int node : nodes) { + tree.insert(node); + } + + System.out.println("Содержимое дерева (in-order):"); + tree.printInOrder(); + System.out.println(); + + System.out.println("\nУдаление узла 10:"); + tree.delete(10); + + System.out.println("Содержимое дерева (in-order) после удаления:"); + tree.printInOrder(); + System.out.println(); + + System.out.println("\nУдаление дерева:"); + tree.destroy(); + + System.out.println("Содержимое дерева после полного удаления:"); + tree.printInOrder(); + System.out.println(); + } +} + diff --git a/students/23K0342/23K0342-p30_2/src/main/java/ru/mirea/practice/s0000001/Node.java b/students/23K0342/23K0342-p30_2/src/main/java/ru/mirea/practice/s0000001/Node.java new file mode 100644 index 000000000..bb5229742 --- /dev/null +++ b/students/23K0342/23K0342-p30_2/src/main/java/ru/mirea/practice/s0000001/Node.java @@ -0,0 +1,13 @@ +package ru.mirea.practice.s0000001; + +class Node { + int data; + Node left; + Node right; + + public Node(int item) { + data = item; + left = right = null; + } +} + diff --git a/students/23K0342/23K0342-p31/pom.xml b/students/23K0342/23K0342-p31/pom.xml new file mode 100644 index 000000000..a3065c748 --- /dev/null +++ b/students/23K0342/23K0342-p31/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p31 + Массивы + diff --git a/students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/FileManager.java b/students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/FileManager.java new file mode 100644 index 000000000..194a3d8fe --- /dev/null +++ b/students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/FileManager.java @@ -0,0 +1,43 @@ +package ru.mirea.practice.s0000001; + +import java.io.IOException; +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.BufferedWriter; +import java.io.FileWriter; +import java.util.List; +import java.io.File; + +final class FileManager { + private FileManager() { + throw new UnsupportedOperationException("Utility class"); + } + + public static void loadFromFile(String filename, TwoThreeTree tree) throws IOException { + File file = new File(filename); + if (!file.exists()) { + throw new IOException("Файл не найден: " + filename); + } + + try (BufferedReader reader = new BufferedReader(new FileReader(file))) { + String line; + while ((line = reader.readLine()) != null) { + String[] data = line.split(", "); + Processor processor = new Processor(Integer.parseInt(data[0]), data[1], Double.parseDouble(data[2]), + Integer.parseInt(data[3]), Double.parseDouble(data[4]), + Integer.parseInt(data[5]), Integer.parseInt(data[6])); + tree.insert(processor); + } + } + } + + public static void saveToFile(String filename, TwoThreeTree tree) throws IOException { + try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) { + List processors = tree.toList(); + for (Processor processor : processors) { + writer.write(processor.toString()); + writer.newLine(); + } + } + } +} diff --git a/students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/Main.java b/students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/Main.java new file mode 100644 index 000000000..386e407b2 --- /dev/null +++ b/students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/Main.java @@ -0,0 +1,60 @@ +package ru.mirea.practice.s0000001; + +import java.io.IOException; +import java.util.Scanner; + +public abstract class Main { + private static TwoThreeTree tree = new TwoThreeTree(); + + public static void main(String[] args) { + try (Scanner scanner = new Scanner(System.in)) { + try { + FileManager.loadFromFile("/Users/viktoriapermakova/Desktop/PROCS.TXT", tree); + System.out.println("Данные загружены."); + } catch (IOException e) { + System.err.println("Ошибка загрузки данных: " + e.getMessage()); + } + + while (true) { + System.out.print("Введите команду (L, D n, A n, S, E): "); + String command = scanner.nextLine(); + + if ("L".equalsIgnoreCase(command)) { + tree.printTree(); + } else if (command.startsWith("D")) { + try { + int key = Integer.parseInt(command.split(" ")[1]); + tree.delete(key); + System.out.println("Запись с ключом " + key + " удалена."); + } catch (Exception e) { + System.err.println("Ошибка удаления: " + e.getMessage()); + } + } else if (command.startsWith("A")) { + try { + int key = Integer.parseInt(command.split(" ")[1]); + System.out.print("Введите данные процессора (название, тактовая частота, кеш, частота шины, SPECint, SPECfp): "); + String[] data = scanner.nextLine().split(", "); + Processor processor = new Processor(key, data[0], Double.parseDouble(data[1]), Integer.parseInt(data[2]), + Double.parseDouble(data[3]), Integer.parseInt(data[4]), Integer.parseInt(data[5])); + tree.insert(processor); + System.out.println("Запись добавлена: " + processor); + } catch (Exception e) { + System.err.println("Ошибка добавления: " + e.getMessage()); + } + } else if ("S".equalsIgnoreCase(command)) { + try { + FileManager.saveToFile("/Users/viktoriapermakova/Desktop/PROCS.TXT", tree); + System.out.println("Данные сохранены в файл."); + } catch (IOException e) { + System.err.println("Ошибка сохранения данных: " + e.getMessage()); + } + } else if ("E".equalsIgnoreCase(command)) { + break; + } else { + System.out.println("Неизвестная команда."); + } + } + } + } +} + diff --git a/students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/Processor.java b/students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/Processor.java new file mode 100644 index 000000000..ddba9e3c9 --- /dev/null +++ b/students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/Processor.java @@ -0,0 +1,26 @@ +package ru.mirea.practice.s0000001; + +class Processor { + int key; + String name; + double clockSpeed; + int cacheSize; + double busFrequency; + int specInt; + int specFp; + + public Processor(int key, String name, double clockSpeed, int cacheSize, double busFrequency, int specInt, int specFp) { + this.key = key; + this.name = name; + this.clockSpeed = clockSpeed; + this.cacheSize = cacheSize; + this.busFrequency = busFrequency; + this.specInt = specInt; + this.specFp = specFp; + } + + @Override + public String toString() { + return key + ", " + name + ", " + clockSpeed + ", " + cacheSize + ", " + busFrequency + ", " + specInt + ", " + specFp; + } +} diff --git a/students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/TwoThreeTree.java b/students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/TwoThreeTree.java new file mode 100644 index 000000000..d8eb86faa --- /dev/null +++ b/students/23K0342/23K0342-p31/src/main/java/ru/mirea/practice/s0000001/TwoThreeTree.java @@ -0,0 +1,174 @@ +package ru.mirea.practice.s0000001; + +import java.util.ArrayList; +import java.util.List; + +class TwoThreeTree { + class Node { + List keys = new ArrayList<>(); + List children = new ArrayList<>(); + Processor processor; + boolean isLeaf; + + Node(Processor processor) { + this.processor = processor; + this.keys.add(processor.key); + this.isLeaf = true; + } + + Node(int key) { + this.keys.add(key); + } + + @Override + public String toString() { + if (isLeaf) { + return String.valueOf(keys.get(0)); + } else if (keys.size() == 1) { + return keys.get(0) + " -"; + } else { + return keys.get(0) + " " + keys.get(1); + } + } + } + + Node root; + + public void insert(Processor processor) { + if (root == null) { + root = new Node(processor); + } else { + Node newRoot = insertRecursive(root, processor); + if (newRoot != null) { + Node oldRoot = root; + root = new Node(newRoot.keys.get(0)); + root.children.add(oldRoot); + root.children.add(newRoot); + root.isLeaf = false; + } + } + } + + private Node insertRecursive(Node node, Processor processor) { + if (node.isLeaf) { + node.keys.add(processor.key); + node.keys.sort(Integer::compareTo); + + if (node.keys.size() > 2) { + return splitNode(node); + } + return null; + } else { + int key = processor.key; + + Node child; + if (key < node.keys.get(0)) { + child = node.children.get(0); + } else if (node.keys.size() == 1 || key < node.keys.get(1)) { + child = node.children.get(1); + } else { + child = node.children.get(2); + } + + Node newChild = insertRecursive(child, processor); + if (newChild != null) { + node.keys.add(newChild.keys.get(0)); + node.keys.sort(Integer::compareTo); + node.children.add(node.children.indexOf(child) + 1, newChild); + + if (node.keys.size() > 2) { + return splitNode(node); + } + } + return null; + } + } + + private Node splitNode(Node node) { + Node newNode = new Node(node.keys.get(2)); + newNode.isLeaf = node.isLeaf; + + if (!node.isLeaf) { + newNode.children.add(node.children.remove(2)); + newNode.children.add(node.children.remove(2)); + } + + node.keys.remove(2); + return newNode; + } + + public void printTree() { + if (root == null) { + System.out.println("Дерево пустое."); + return; + } + printTreeRecursively(root); + } + + private void printTreeRecursively(Node node) { + if (node == null) { + return; + } + System.out.println(node); + for (Node child : node.children) { + printTreeRecursively(child); + } + } + + public void delete(int key) { + root = deleteRecursive(root, key); + } + + private Node deleteRecursive(Node node, int key) { + if (node == null) { + System.out.println("Запись с ключом " + key + " не найдена."); + return null; + } + + if (node.isLeaf) { + if (node.keys.contains(key)) { + node.keys.remove(Integer.valueOf(key)); + if (node.keys.isEmpty()) { + return null; + } + } else { + System.out.println("Запись с ключом " + key + " не найдена."); + } + return node; + } + + if (key < node.keys.get(0)) { + Node child = deleteRecursive(node.children.get(0), key); + node.children.set(0, child); + } else if (node.keys.size() == 1 || key < node.keys.get(1)) { + Node child = deleteRecursive(node.children.get(1), key); + node.children.set(1, child); + } else { + Node child = deleteRecursive(node.children.get(2), key); + node.children.set(2, child); + } + return node; + } + + public List toList() { + List result = new ArrayList<>(); + collectProcessors(root, result); + return result; + } + + private void collectProcessors(Node node, List result) { + if (node == null) { + return; + } + + if (node.isLeaf) { + if (node.processor != null) { + result.add(node.processor); + } + } + + for (Node child : node.children) { + collectProcessors(child, result); + } + } +} diff --git a/students/23K0342/23K0342-p32/pom.xml b/students/23K0342/23K0342-p32/pom.xml new file mode 100644 index 000000000..b4d9f689d --- /dev/null +++ b/students/23K0342/23K0342-p32/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0342 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0342-p32 + Массивы + diff --git a/students/23K0342/23K0342-p32/src/main/java/ru/mirea/practice/s0000001/JohnsonTrotter.java b/students/23K0342/23K0342-p32/src/main/java/ru/mirea/practice/s0000001/JohnsonTrotter.java new file mode 100644 index 000000000..702c4b247 --- /dev/null +++ b/students/23K0342/23K0342-p32/src/main/java/ru/mirea/practice/s0000001/JohnsonTrotter.java @@ -0,0 +1,74 @@ +package ru.mirea.practice.s0000001; + +public abstract class JohnsonTrotter { + + public static void printPermutation(int[] permutation) { + for (int num : permutation) { + System.out.print(num + " "); + } + System.out.println(); + } + + public static void generatePermutations(int n) { + int[] permutation = new int[n]; + int[] direction = new int[n]; + + for (int i = 0; i < n; i++) { + permutation[i] = i + 1; + direction[i] = 0; + } + + printPermutation(permutation); + + boolean hasNext = true; + while (hasNext) { + int largestMobile = -1; + int largestMobileIndex = -1; + + for (int i = 0; i < n; i++) { + if (direction[i] == 0 && i > 0 && permutation[i] > permutation[i - 1] + || direction[i] == 1 && i < n - 1 && permutation[i] > permutation[i + 1]) { + + if (permutation[i] > largestMobile) { + largestMobile = permutation[i]; + largestMobileIndex = i; + } + } + } + + if (largestMobile == -1) { + hasNext = false; + } else { + int index = largestMobileIndex; + int temp = permutation[index]; + + + if (direction[index] == 0) { + permutation[index] = permutation[index - 1]; + permutation[index - 1] = temp; + direction[index] = 1; + direction[index - 1] = 0; + } else { + permutation[index] = permutation[index + 1]; + permutation[index + 1] = temp; + direction[index] = 0; + direction[index + 1] = 1; + } + + for (int i = 0; i < n; i++) { + if (permutation[i] > largestMobile) { + direction[i] = 1 - direction[i]; + } + } + + printPermutation(permutation); + } + } + } + + public static void main(String[] args) { + int n = 3; + generatePermutations(n); + } +} + diff --git a/students/23K0342/pom.xml b/students/23K0342/pom.xml index 728457eb1..55dbbbabc 100644 --- a/students/23K0342/pom.xml +++ b/students/23K0342/pom.xml @@ -43,6 +43,9 @@ 23K0342-pr28 23K0342-pr29 23K0342-pr30_1 + 23K0342-p30_2 + 23K0342-p31 + 23K0342-p32