Compare commits

..

20 Commits

Author SHA1 Message Date
idkWhatUserNameToUse
9813f75326 extracted method with adding issue 2023-03-23 21:08:55 +02:00
idkWhatUserNameToUse
8ae3907d24 Merge branch 'ІО-22/20-Папко-Максим' of https://github.com/ASDjonok/OOP_IO-2x_2023 into ІО-22/20-Папко-Максим 2023-03-23 20:55:22 +02:00
idkWhatUserNameToUse
a011fc41cf task completed in main method 2023-03-23 20:55:11 +02:00
Maxim Papko
4454d46284 Delete Lab1 directory 2023-03-23 20:40:46 +02:00
idkWhatUserNameToUse
4d70c6a51e Merge branch 'ІО-22/20-Папко-Максим' of https://github.com/ASDjonok/OOP_IO-2x_2023 into ІО-22/20-Папко-Максим 2023-03-23 20:40:02 +02:00
idkWhatUserNameToUse
8db686fac0 determined task 2023-03-23 20:39:53 +02:00
Maxim Papko
a48fb7d41f Delete Lab1 directory 2023-03-23 20:37:22 +02:00
idkWhatUserNameToUse
09f2114de6 determined task 2023-03-23 20:35:38 +02:00
Maxim Papko
828dedc3b6 Add files via upload 2023-03-23 20:34:26 +02:00
Maxim Papko
41b6eb063c Delete Program.cs 2023-03-23 20:31:07 +02:00
Maxim Papko
bb2c8bd1a0 Add files via upload 2023-03-23 20:30:52 +02:00
idkWhatUserNameToUse
88a618647d a certain option 2023-03-23 20:29:30 +02:00
idkWhatUserNameToUse
f4fccadb7b Merge branch 'ІО-22/20-Папко-Максим' of https://github.com/ASDjonok/OOP_IO-2x_2023 into ІО-22/20-Папко-Максим 2023-03-19 16:53:25 +02:00
idkWhatUserNameToUse
fb4c2404f7 added empty file 2023-03-19 16:53:05 +02:00
Maxim Papko
86940aa666 Delete Program.cs 2023-03-19 14:09:18 +02:00
Maxim Papko
1e368a1324 Add files via upload 2023-03-19 14:06:41 +02:00
Maxim Papko
559b03336e Delete Program.cs 2023-03-19 13:45:51 +02:00
Maxim Papko
0a7521af40 Delete .gitignore 2023-03-19 13:43:14 +02:00
Maxim Papko
0b51a1a491 Delete OOP_IO-2x_2023.iml 2023-03-19 13:43:08 +02:00
Maxim Papko
f54eee595c Add files via upload 2023-03-19 13:42:50 +02:00
11 changed files with 116 additions and 425 deletions

2
.gitignore vendored
View File

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

View File

@@ -1,68 +0,0 @@
import java.util.Scanner;
import java.util.Arrays;
import java.util.Comparator;
public class Lab4 {
public static void main(String[] args) {
Students student1 = new Students("Максим", 22, "ФІОТ", 91, 8);
Students students2 = new Students("Ольга", 19, "ФЕА", 34, 4);
Students students3 = new Students("Владислав", 18, "ФММ", 55, 10);
Students students4 = new Students("Марія", 20, "ХТФ", 11, 6);
Students students5 = new Students("Петро", 23, "ФМФ", 78, 2);
Students[] students = {student1, students2, students3, students4, students5};
System.out.println("Список студентів: ");
System.out.println(String.format("%-9s | %-3s | %-9s | %-11s | %s", "Ім'я", "Вік", "Факультет", "Номер групи", "Рівень знань(від 0 до 10)"));
for (Students student : students) {
System.out.println(String.format("%-9s | %-3s | %-9s | %-11s | %s", student.getName(), student.getAge(), student.getNameOfFaculty(), student.getNumberOfGroup(), student.getLvlOfKnowledge()));
}
Scanner scan = new Scanner(System.in);
System.out.println("Введіть за чим сортувати: ");
System.out.println("1 - Зростання \n2 - Спадання:");
int incOrDec = scan.nextInt();
System.out.println("Введіть за чим хочете сортувати: ");
System.out.println("1 - Ім'я \n2 - Вік \n3 - Факультет\n4 - Група\n5 - Рівень знань: ");
int num = scan.nextInt();
if (incOrDec == 1) {
switch (num) {
case 1:
Arrays.sort(students, Comparator.comparing(Students::getName));
break;
case 2:
Arrays.sort(students, Comparator.comparingInt(Students::getAge));
break;
case 3:
Arrays.sort(students, Comparator.comparing(Students::getNameOfFaculty));
break;
case 4:
Arrays.sort(students, Comparator.comparingInt(Students::getNumberOfGroup));
break;
case 5:
Arrays.sort(students, Comparator.comparingInt(Students::getLvlOfKnowledge));
break;
}
} else {
switch (num) {
case 1:
Arrays.sort(students, Comparator.comparing(Students::getName).reversed());
break;
case 2:
Arrays.sort(students, Comparator.comparingInt(Students::getAge).reversed());
break;
case 3:
Arrays.sort(students, Comparator.comparing(Students::getNameOfFaculty).reversed());
break;
case 4:
Arrays.sort(students, Comparator.comparingInt(Students::getNumberOfGroup).reversed());
break;
case 5:
Arrays.sort(students, Comparator.comparingInt(Students::getLvlOfKnowledge).reversed());
break;
}
}
System.out.println(String.format("%-9s | %-3s | %-9s | %-11s | %s", "Ім'я", "Вік", "Факультет", "Номер групи", "Рівень знань(від 0 до 10)"));
for (Students student : students) {
System.out.println(String.format("%-9s | %-3s | %-9s | %-11s | %s", student.getName(), student.getAge(), student.getNameOfFaculty(), student.getNumberOfGroup(), student.getLvlOfKnowledge()));
}
}
}

107
Lab5.java
View File

@@ -1,107 +0,0 @@
public class Lab5 {
public static void main(String[] args) {
StringBuilder txt = new StringBuilder("соціальна мережа, яка є мережею мікроблогів. Дає змогу користувачам надсилати короткі текстові повідомлення (до 2802 символів, до 2017 року — до 140 символів), використовуючи SMS,");
System.out.println("Початковий текст:");
System.out.println(txt);
Text text = new Text(txt);
StringBuilder result = text.splitText();
System.out.println("Змінений текст:");
System.out.println(result);
}
}
class Text {
private final StringBuilder textString;
public Text(StringBuilder textString){
this.textString = textString;
}
public StringBuilder splitText() {
StringBuilder result = new StringBuilder();
String[] sentenceStrings = textString.toString().split("(?<=[?.!])\\s?");
for (String s : sentenceStrings) {
StringBuilder sb = new StringBuilder(s);
Sentence sentence = new Sentence(sb);
result.append(sentence.splitSentence());
}
return result;
}
}
class Sentence {
private final StringBuilder sentence;
public Sentence(StringBuilder sentence) {
this.sentence = sentence;
}
public StringBuilder splitSentence() {
StringBuilder returnSentence = new StringBuilder();
String text = sentence.toString();
String[] words = text.split(" ");
for (String w : words) {
StringBuilder wb = new StringBuilder(w);
Word word = new Word(wb);
returnSentence.append(word.splitWord()).append(" ");
}
return returnSentence;
}
}
class Word {
private final StringBuilder word;
public Word(StringBuilder word) {
this.word = word;
}
public StringBuilder splitWord() {
StringBuilder returnWord = new StringBuilder();
String wordstring = word.toString();
String[] letters = wordstring.split("");
String firstLetter = wordstring.substring(0, 1);
returnWord.append(firstLetter);
for (String l: letters){
StringBuilder lb = new StringBuilder(l);
Letter letter = new Letter(lb);
if (firstLetter.equals(letter.getLetter().toString())){
returnWord.append("");
}else{
if(l.equals("!") || l.equals("?") || l.equals(".") || l.equals(",") || l.equals(":") || l.equals(";")){
Punctuation punctuation = new Punctuation(lb);
returnWord.append(punctuation.getPunctuation());
}else{
returnWord.append(letter.getLetter());
}
}
}
return returnWord;
}
}
class Letter {
private final StringBuilder letter;
public Letter(StringBuilder letter) {
this.letter = letter;
}
public StringBuilder getLetter() {
return letter;
}
}
class Punctuation {
private final StringBuilder punctuation;
public Punctuation(StringBuilder punctuation) {
this.punctuation = punctuation;
}
public StringBuilder getPunctuation() {
return punctuation;
}
}

View File

@@ -1,11 +0,0 @@
<?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,30 +0,0 @@
public class Students {
private String name;
private int age;
private String nameOfFaculty;
private int numberOfGroup;
private int lvlOfKnowledge;
public Students(String name, int age, String nameOfFaculty, int numberOfGroup, int lvlOfKnowledge) {
this.name = name;
this.age = age;
this.nameOfFaculty = nameOfFaculty;
this.numberOfGroup = numberOfGroup;
this.lvlOfKnowledge = lvlOfKnowledge;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getNameOfFaculty() {
return nameOfFaculty;
}
public int getNumberOfGroup() {
return numberOfGroup;
}
public int getLvlOfKnowledge() {
return lvlOfKnowledge;
}
}

View File

@@ -1,29 +0,0 @@
import java.util.Scanner;
public class lab1 {
public static void main(String[] args) {
float S = 0, i, j;
int C = 1;
Scanner scan = new Scanner(System.in);
System.out.println("Введіть значення a (a>1):");
int a = scan.nextInt();
System.out.println("Введіть значення b:");
int b = scan.nextInt();
System.out.println("Введіть значення n:");
int n = scan.nextInt();
System.out.println("Введіть значення m:");
int m = scan.nextInt();
for (i = a; i <= n; i++) {
if (i - C == 0) {
System.out.println("Ділення на 0");
return;
}
for (j = b; j <= m; j++) {
S += (i - j) / (i - C);
}
}
System.out.println(S);
}
}

View File

@@ -0,0 +1,61 @@
using System;
public class Lab1
{
public static void Main(String[] args)
{
/*o1 = +
c3 = 0
o2 = *
c7 = short */
// var A = 4;
// short B = 3;
// var N = 10;
// var M = 10;
//
// var C = 1;
// var s = 0;
//
// bool divisionByZero=false;
Calculation(4, 3, 10, 10, 1, false);
}
public static void Calculation(int A, int C, int N, short B, int M, bool divisionByZero)
{
var s = 0;
if ((A <= -C && -C <= N) || (B <= 0 && 0 <= M))
{
Console.WriteLine("Division by zero!");
return;
}
for (int i = A; i <= N; i++)
{
if (i + C == 0)
{
Console.WriteLine("Division by zero!");
divisionByZero = true;
break;
}
for (short j = B; j <= M; j++)
{
if (j == 0)
{
Console.WriteLine("Оскільки j = 0, то сума просто буде 0");
break;
}
s += (i * j) / (i + C);
}
}
if (!divisionByZero)
{
Console.WriteLine($"s = {s};");
}
}
}

View File

@@ -1,78 +0,0 @@
import java.util.Scanner;
import java.util.Random;
public class lab2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Введіть кількість рядків матриці А:");
int mA = scan.nextInt();
System.out.println("Введіть кількість стовпців матриці А:");
int nA = scan.nextInt();
System.out.println("Введіть кількість рядків матриці B:");
int mB = scan.nextInt();
if (nA != mB) {
System.out.println("Щоб помножити матриці, потрібно, щоб кількість стовпців матриці А == кількості рядків матриці B");
return;
}
System.out.println("Введіть кількість стовпців матриці B:");
int nB = scan.nextInt();
System.out.println("Границя значень у матрицях:");
int upperbound = scan.nextShort();
int[][] matrixA = new int[mA][nA];
int[][] matrixB = new int[mB][nB];
int[][] matrixC = new int[mA][nB];
generationMatrixes(matrixA, matrixB, upperbound);
printMatrixC(matrixA, matrixB, matrixC);
AverageValueofElementsofEachColumn(matrixC);
}
private static void AverageValueofElementsofEachColumn(int[][] matrixC) {
System.out.println("Середнє значення елементів кожного стовпчика матриці:");
System.out.print("||");
for (int i = 0; i < matrixC.length; i++) {
double sum = 0;
for (int j = 0; j < matrixC[i].length; j++) {
sum += matrixC[j][i];
}
System.out.printf(" %.2f ||", (sum) / matrixC.length);
}
}
private static void printMatrixC(int[][] matrixA, int[][] matrixB, int[][] matrixC) {
for (int i = 0; i < matrixC.length; i++) {
for (int j = 0; j < matrixC[i].length; j++) {
for (int k = 0; k < matrixA[j].length; k++) {
matrixC[i][j] += matrixA[i][k] * matrixB[k][j];
}
}
}
System.out.println("Матриця С:");
for (int i = 0; i < matrixC.length; i++) {
for (int j = 0; j < matrixC[i].length; j++) {
System.out.printf("|%4d", matrixC[i][j]);
}
System.out.println("|");
}
}
private static void generationMatrixes(int[][] matrixA, int[][] matrixB, int upperbound) {
Random rand = new Random();
System.out.println("Матриця А:");
for (short i = 0; i < matrixA.length; i++) {
for (int j = 0; j < matrixA[i].length; j++) {
matrixA[i][j] = rand.nextInt(upperbound);
System.out.printf("|%4d", matrixA[i][j]);
}
System.out.println("|");
}
System.out.println("Матриця B:");
for (short i = 0; i < matrixB.length; i++) {
for (int j = 0; j < matrixB[i].length; j++) {
matrixB[i][j] = rand.nextInt(upperbound);
System.out.printf("|%4d", matrixB[i][j]);
}
System.out.println("|");
}
}
}

View File

@@ -1,21 +0,0 @@
public class lab3 {
public static void main(String[] args) {
StringBuilder txt = new StringBuilder("— соціальна мережа, яка є мережею мікроблогів, дає змогу користувачам надсилати короткі текстові повідомлення (до 2802 символів, до 2017 року — до 140 символів), використовуючи SMS,");
System.out.println(txt);
String[] words = txt.toString().split("\\s+");
StringBuilder result = new StringBuilder();
for (int i = 0; i < words.length; i++) {
StringBuilder word = new StringBuilder(words[i]);
StringBuilder firstLetter = new StringBuilder(word.substring(0, 1));
if (word.substring(1).contains(firstLetter.toString().toLowerCase()) || word.substring(1).contains(firstLetter)) {
String changedWord = firstLetter + word.substring(1).replaceAll(firstLetter.toString().toLowerCase(), "").replaceAll(firstLetter.toString(), "");
result.append(changedWord);
result.append(" ");
} else {
result.append(word);
result.append(" ");
}
}
System.out.println(result);
}
}

52
laboratorna1/Program.cs Normal file
View File

@@ -0,0 +1,52 @@
using System;
public class Lab1
{
public static void Main(String[] args)
{
/*o1 = +
c3 = 0
o2 = *
c7 = short */
var A = 4;
short B = 3;
var N = 10;
var M = 10;
var C = 1;
var s = 0;
bool divisionByZero=false;
if ((A <= -C && -C <= N) || (B <= 0 && 0 <= M))
{
Console.WriteLine("Division by zero!");
return;
}
for (int i = A; i <= N; i++)
{
if (i + C == 0) {
Console.WriteLine("Division by zero!");
divisionByZero = true;
break;
}
for (short j = B; j <= M; j++)
{
if (j == 0) {
Console.WriteLine("Оскільки j = 0, то сума просто буде 0");
break;
}
s += (i * j) / (i + C);
}
}
if (!divisionByZero)
{
Console.WriteLine($"s = {s};" );
}
}
}

View File

@@ -1,36 +1,13 @@
public class Lab2 {
public static void main(String[] args) {
final int A = 2;
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++) {
int[] array = {1, 2, 3};
/*for (int i = 0; i < array.length; i++) {
if (i % 2 == 0) {
System.out.println("!" + array[i]);
} else {
System.out.println("?" + array[i]);
}
}
}*/
for (int i = 0; i < array.length; i+=2) {
System.out.println("!" + array[i]);
@@ -45,58 +22,5 @@ public class Lab2 {
{1, 2},
{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;
}
}