Compare commits

..

12 Commits

Author SHA1 Message Date
Oleksii Aleshchenko
81ac59840f Revert "Done lab 1-3"
This reverts commit 29e63163a4.
2023-04-04 22:33:00 +03:00
Oleksii Aleshchenko
1e6825d7d4 Revert "Delete lab1 directory"
This reverts commit 1af299f8f7.
2023-04-04 22:32:47 +03:00
Oleksii Aleshchenko
4087daef02 Revert "Delete lab2 directory"
This reverts commit 3bbb7c8e54.
2023-04-04 22:32:36 +03:00
Oleksii Aleshchenko
31ba116ad8 Revert "Delete lab3 directory"
This reverts commit 6fc3cc244e.
2023-04-04 22:32:00 +03:00
xivihwa
6fc3cc244e Delete lab3 directory 2023-04-04 17:44:45 +03:00
xivihwa
3bbb7c8e54 Delete lab2 directory 2023-04-04 17:44:38 +03:00
xivihwa
1af299f8f7 Delete lab1 directory 2023-04-04 17:44:30 +03:00
xivihwa
4924bbe62f Merge pull request #2 from ASDjonok/ІО-25/01-Антоненко-Віолетта-Станіславівна
Done lab 1-3
2023-04-04 17:41:26 +03:00
xivihwa
29e63163a4 Done lab 1-3 2023-04-04 17:40:44 +03:00
Oleksii Aleshchenko
399941844f update lab2 2023-03-30 15:50:18 +03:00
Oleksii Aleshchenko
f385bff73d update lab2 2023-03-30 15:29:02 +03:00
Oleksii Aleshchenko
6d8171ad4c update lab2 2023-03-23 16:04:49 +02:00
13 changed files with 244 additions and 284 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
# Project exclude paths
/out/

8
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

6
.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="openjdk-18" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/OOP_IO-2x_2023.iml" filepath="$PROJECT_DIR$/OOP_IO-2x_2023.iml" />
</modules>
</component>
</project>

124
.idea/uiDesigner.xml generated Normal file
View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -1,40 +0,0 @@
using System;
public class Laba2
{
public static void Main(string[] args)
{
const int a = 2;
int[,] b = new[,] //створення матриці;
{
{ 1, 2, 8 },
{ 3, 4, 5 },
{ 6, 7, 9 }
};
int rows = b.GetLength(0); //отримання довжини рядків
int cols = b.GetLength(1); //отримання довжини стовпців
for (int i = 0; i < rows; i++)
{
int Avg = 0;
for (int j = 0; j < cols; j++)
{
Console.Write(b[i, j] + " "); // перебір матриці для обчислення середнього значення рядка
Avg += b[i, j];
}
Avg = Avg / cols;
Console.Write($"-average of row is:{Avg};" );
Console.WriteLine(" ");
}
Console.WriteLine(" ");
for (int x = 0; x < rows; x++)
{
for (int y = 0; y < cols; y++)
{
Console.Write(b[x, y] * a + " "); //виведення матриці, помноженої на константу
}
Console.WriteLine(" ");
}
}
}

View File

@@ -1,33 +0,0 @@
using System;
using System.Collections.Generic;
class Lab3
{
public static void Main(string[] args)
{
string text = "Вухатий великий синiй слон. Яблуко в саду. Зелене яблуко? Груша. Жовта слива висить у саду!";
Console.WriteLine(text );
// розділяємо текст на окремі речення
string[] textSplit = text.Split(new[] { '.', '?', '!' }, StringSplitOptions.RemoveEmptyEntries);
// обчислюємо кількість слів у кожному реченні та створюємо масив з кількістю слів у реченнях
int[] amountOfWords = new int[textSplit.Length];
for (int i = 0; i < textSplit.Length; i++)
{
string[] words = textSplit[i].Trim().Split(' ', StringSplitOptions.RemoveEmptyEntries);
amountOfWords[i] = words.Length;
}
// створюємо Dictionary, де ключ - кількість слів у реченні, а значення - речення
Dictionary<string, int> sentenceDictionary = new Dictionary<string, int>();
for (int i = 0; i < textSplit.Length; i++)
{
sentenceDictionary.Add(textSplit[i],amountOfWords[i] );
}
var sortedDict = sentenceDictionary.OrderBy(x => x.Value).ToDictionary(x => x.Key, x => x.Value);
Console.WriteLine(String.Join(";", sortedDict.Keys));
}
}

View File

@@ -1,86 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Furniture
{
// 5 полів
private string type;
private string material;
private string color;
private int price;
private int amount;
// конструктор з атрибутами
public Furniture(string type, string material, string color, int price, int amount)
{
this.type = type;
this.material = material;
this.color = color;
this.price = price;
this.amount = amount;
}
// методи для повернення атрибутів
public string getType()
{
return type;
}
public string getMaterial()
{
return material;
}
public string getColor()
{
return color;
}
public int getPrice()
{
return price;
}
public int getAmount()
{
return amount;
}
public static void Main(string[] args)
{
Furniture[] furnitureArr = {
new Furniture("шафа", "дерево", "коричневий", 5000, 2),
new Furniture("стiл", "скло", "чорний", 3000, 3),
new Furniture("лiжко", "метал", "срiблястий", 8000, 1),
new Furniture("диван", "тканина", "сiрий", 10000, 2),
new Furniture("стiлець", "метал", "синій", 500, 4)
};
// Сортування масиву за ціною за зростанням
var sorted = furnitureArr.OrderBy(ob => ob.price).ToArray();
// Вивести відсортований масив
Console.WriteLine("Всортований за цiною (за зростанням):");
foreach (Furniture f in sorted)
{
Console.WriteLine(f.getType() + " - " + f.getPrice() + " грн;");
}
Console.WriteLine(' ');
// Сортування масиву за кількістю за спаданням
var sortedReversery = furnitureArr.OrderBy(ob => ob.amount).ToArray().Reverse();
// Вивести відсортований масив
Console.WriteLine("Всортований за кiлькiстю (за спаданням):");
foreach (Furniture f in sortedReversery)
{
Console.Write($"{f.getType()} - {f.getAmount()}; " );
}
Console.WriteLine(' ');
}
}
}

View File

@@ -1,121 +0,0 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Formats.Asn1;
// Визначити ієрархію рухомого складу залізничного транспорту.Створити пасажирський потяг.Порахувати загальну чисельність пасажирів і багажу в потязі.
// Провести сортування вагонів потягу за рівнем комфортності. Знайти вагон в потязі, що відповідає заданому діапазону кількості пасажирів.
class Lab6
{
public static void Main(string[] args)
{
List<Wagons> wagons = new List<Wagons>(); //створюємо лист-список вагонів;
// Додаємо вагони за допомогою класу Wagons;
wagons.Add(new Wagons.PassengerWagons("Пасажирський", 100, 100, "Вищий", 10));
wagons.Add(new Wagons.PassengerWagons("Пасажирський", 50, 48, "Середнiй", 20));
wagons.Add(new Wagons.PassengerWagons("Пасажирський", 20, 15, "Низький", 30));
wagons.Add(new Wagons.FreightWagons("Вантажний", 10, 10));
wagons.Add(new Wagons.FreightWagons("Вантажний", 20, 20));
wagons.Add(new Wagons.FreightWagons("Вантажний", 30, 30));
Console.WriteLine("Усi вагони:"); //відображення всіх вагонів;
foreach (Wagons wagon in wagons)
{
Console.WriteLine(wagon.GetType() + ": " + wagon.GetPassengers() + " пасажирiв(-а), " + wagon.GetBaggage() +
" валiз/контейнерiв, " + wagon.GetComfort() + ", " + wagon.GetAmount() + ";");
}
int amountOfPassangers = 0; //обчислення загальної кількості пасажирів;
foreach (Wagons p in wagons)
{
amountOfPassangers += p.GetPassengers();
}
var sorted = wagons.OrderByDescending(ob => ob.GetComfort()).ToArray(); //сортування вагонів за рівнем комфорту;
Console.WriteLine("\nКiлькiсть пасажиру пасажирському вагонi: " + amountOfPassangers + ";");
Console.WriteLine("\nВеддiть мiнiмальну кiлькiсть пасажирiв: ");
var minPassangers = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Веддiть максимальну кiлькiсть пасажирiв: ");
var maxPassangers = Convert.ToInt32(Console.ReadLine());
foreach (Wagons t in wagons)
{
if (t.GetPassengers() != null && t.GetPassengers() >= minPassangers && t.GetPassengers() <= maxPassangers) //пошук вагону за кількістю пасажирів;
{
Console.Write(t.GetType() + " - " + t.GetPassengers()+"; ");
}
else
{
throw (new InvalidOperationException("Немає такого вагону;"));
}
}
}
class Wagons
{
private string type; // тип вагону
private int passengers; // кількість пасажирів
private int baggage; // кількість багажу в тоннах
private string comfort; // рейтиг комфорту вагону
private int amount; // кількість вагонів
public Wagons(string type, int? passengers, int? baggage, string comfort, int amount) //конструктор вагонів;
{
this.type = type;
this.passengers = Convert.ToInt32(passengers);
this.baggage = Convert.ToInt32(baggage);
this.comfort = comfort;
this.amount = amount;
}
public string GetType() //геттери атрибутів класу;
{
return type;
}
public int GetPassengers()
{
return passengers;
}
public int? GetBaggage()
{
return baggage;
}
public string GetComfort()
{
return comfort;
}
public int GetAmount()
{
return amount;
}
// підклас Пасажирський вагон який наслідує батьківський клас Вагони;
public class PassengerWagons : Wagons
{
public PassengerWagons(string type, int passengers, int baggage, string comfort, int amount) : base(type,
passengers, baggage, comfort, amount)
{
}
}
// підклас Вантажний вагон який наслідує батьківський клас Вагони;
public class FreightWagons : Wagons
{
public FreightWagons(string type, int baggage, int amount) : base(type, null, baggage, null, amount)
{
}
}
}
}

11
OOP_IO-2x_2023.iml Normal file
View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -1 +0,0 @@
Files with lab2,3,4 located in in Lab3. My excuses for confusing you

View File

@@ -1,13 +1,36 @@
public class Lab2 { public class Lab2 {
public static void main(String[] args) { public static void main(String[] args) {
int[] array = {1, 2, 3}; final int A = 2;
/*for (int i = 0; i < array.length; i++) { final int[][] MATRIX_B = {
{1, 202, 1, 1, 202, 3, 1, 202, 3,},
{1, 202, 1, 1, 202, 3, 1, 202, 3,},
{1, 1, 3, 1, 202, 3, 1, 202, 3,},
// {4, 5, 6,},
};
int[][] MATRIX_C = multiplication(A, MATRIX_B);
print(MATRIX_C);
System.out.println("Sum of smallest elements in every column: " + sumOfSmallestElementsInEveryColumn(MATRIX_C));
/*int[] array = {1, 2, 3};
int[] array2 = new int[3];
Object[] array3 = new String[3];
System.out.println(array3[0]); //nothing, trash from the memory, null || null
System.out.println(array2[0]); //nothing, trash from the memory, null || 0
System.out.println(array[0]); // || 1
int[][] matrix2 = new int[2][3];
matrix2[0] = new int[2];
matrix2[1] = new int[1];
for (int i = 0; i < array.length; i++) {
if (i % 2 == 0) { if (i % 2 == 0) {
System.out.println("!" + array[i]); System.out.println("!" + array[i]);
} else { } else {
System.out.println("?" + array[i]); System.out.println("?" + array[i]);
} }
}*/ }
for (int i = 0; i < array.length; i+=2) { for (int i = 0; i < array.length; i+=2) {
System.out.println("!" + array[i]); System.out.println("!" + array[i]);
@@ -22,5 +45,58 @@ public class Lab2 {
{1, 2}, {1, 2},
{3} {3}
}; };
// C=a×B, a - const
// final int[][] MATRIX_C = int;
MATRIX_B[0][0] = 2;
MATRIX_B[0] = new int[]{1, 2};
System.out.println(MATRIX_B[0][0]);
MATRIX_B = new int[][]{
{1, 2},
{3}
};*/
}
private static int sumOfSmallestElementsInEveryColumn(final int[][] MATRIX_C) {
// todo check different length of rows
// todo try to change i and j
// todo check repetition of minimal elements
int sum = 0;
for (int i = 0; i < MATRIX_C[0].length; i++) {
int tmpSmallest = MATRIX_C[0][i];
for (int j = 1; j < MATRIX_C.length; j++) {
if (MATRIX_C[j][i] < tmpSmallest) {
tmpSmallest = MATRIX_C[j][i];
}
}
sum += tmpSmallest;
}
return sum;
}
private static void print(final int[][] MATRIX_C) {
for (int i = 0; i < MATRIX_C.length; i++) {
for (int j = 0; j < MATRIX_C[i].length; j++) {
// System.out.print(MATRIX_C[i][j] + "\t");//printf("%4d",
System.out.printf("%4d ", MATRIX_C[i][j]);//printf("%4d",
}
System.out.println();
}
}
private static int[][] multiplication(int A, final int[][] MATRIX_B) {
final int[][] MATRIX_C = new int[MATRIX_B.length][/*MATRIX_B[0].length*/]; // todo !!!DANGER different lengths of rows
// final int[][] MATRIX_C = MATRIX_B;
for (int i = 0; i < MATRIX_B.length; i++) {
MATRIX_C[i] = new int[MATRIX_B[i].length];
for (int j = 0; j < MATRIX_B[i].length; j++) {
MATRIX_C[i][j] = MATRIX_B[i][j] * A;
}
}
return MATRIX_C;
} }
} }