From 8a4cbcd69cbddbb0d226eb458b24791101a80da6 Mon Sep 17 00:00:00 2001
From: Hadllee <iliagorbunov71@gmail.com>
Date: Sun, 30 Mar 2025 22:38:28 +0700
Subject: [PATCH 1/4] Lab2 done

---
 src/Main.java | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/src/Main.java b/src/Main.java
index 9c3df03..26d6e60 100644
--- a/src/Main.java
+++ b/src/Main.java
@@ -1,5 +1,74 @@
+import java.util.Arrays;
+
 public class Main {
+    public static double calcIntegral(double start, double end, int split, int a, int b, int c){
+        if (end == start){
+            return 0.0000;
+        }
+        double interval = (Math.abs(end- start))/ split;
+        double currentIntegral = 0;
+        for (double i = start; i <= end; i += interval){
+            double nextI = i + interval;
+            double square1 = a*i*i + b*i +c;
+            double square2 = a*nextI*nextI + b*nextI +c;
+            double sum = (square1 + square2)/2;
+            double area = sum * interval;
+            currentIntegral+= area;
+        }
+        return currentIntegral;
+    }
+
+    public static double[][] makeTableData(int start, double end, int split, int a, int b, int c, int size){
+        double[][] integralArray = new double[size+1][size+1];
+        double length = (end - start)/(size - 1);
+
+        for (int i = 0; i <= size; i++) {
+            for (int j = 0; j <= size; j++) {
+                if (i == 0 && j == 0){
+                    integralArray[i][j] = 0.0000;
+                }
+                else if (i == 0){
+                    integralArray[i][j] = j == 1  ? start : start + (j-1)*length;
+                }
+                else if (j == 0){
+                    integralArray[i][j] = i == 1 ? start : start + (i-1)*length;
+                }
+                else{
+                    if (start + (j-1)*length < start + (i-1)*length){
+                        integralArray[i][j] = calcIntegral(start + (j-1)*length, start + (i-1)*length, split, a, b, c);
+
+                    }
+                    else {
+                        integralArray[i][j] = calcIntegral(start + (i-1)*length, start + (j-1)*length, split, a, b, c);
+                    }
+                }
+            }
+        }
+        return integralArray;
+    }
+
+    public static void consoleTable(double[][] arr){
+        for (int i = 0; i < arr.length; i++) {
+            int n = 0;
+            for (int j = 0; j < arr[i].length; j++) {
+                n += String.format("%10.4f", arr[i][j]).length();
+                System.out.print(String.format("%9.4f", arr[i][j]) + " ");
+                if (j == 0){
+                    System.out.print("|");
+                }
+            }
+            System.out.println();
+            System.out.print("_".repeat(n));
+            System.out.println();
+        }
+
+    }
     public static void main(String[] args) {
+        consoleTable(makeTableData(-5, 5, 100000, 1, 0, -3, 11));
+
+
+
 
         }
+
     }
\ No newline at end of file
-- 
GitLab


From 2c0b2304c3c4ebcabbae586f47831232cfd0d22d Mon Sep 17 00:00:00 2001
From: Hadllee <iliagorbunov71@gmail.com>
Date: Sun, 30 Mar 2025 22:39:00 +0700
Subject: [PATCH 2/4] Lab2 done

---
 src/Main.java | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/Main.java b/src/Main.java
index 26d6e60..726786a 100644
--- a/src/Main.java
+++ b/src/Main.java
@@ -1,5 +1,3 @@
-import java.util.Arrays;
-
 public class Main {
     public static double calcIntegral(double start, double end, int split, int a, int b, int c){
         if (end == start){
-- 
GitLab


From 32c616ab4746f7036c8417fa1458b742fd6bc12a Mon Sep 17 00:00:00 2001
From: Hadllee <iliagorbunov71@gmail.com>
Date: Sun, 30 Mar 2025 22:50:29 +0700
Subject: [PATCH 3/4] Lab2 done

---
 src/Main.java | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/Main.java b/src/Main.java
index 726786a..287ad23 100644
--- a/src/Main.java
+++ b/src/Main.java
@@ -49,11 +49,17 @@ public class Main {
         for (int i = 0; i < arr.length; i++) {
             int n = 0;
             for (int j = 0; j < arr[i].length; j++) {
-                n += String.format("%10.4f", arr[i][j]).length();
-                System.out.print(String.format("%9.4f", arr[i][j]) + " ");
-                if (j == 0){
+                if (i == 0 && j == 0){
+                    System.out.print(" ".repeat(10));
                     System.out.print("|");
                 }
+                else {
+                    System.out.print(String.format("%9.4f", arr[i][j]) + " ");
+                    if (j == 0){
+                        System.out.print("|");
+                    }
+                }
+                n += String.format("%10.4f", arr[i][j]).length();
             }
             System.out.println();
             System.out.print("_".repeat(n));
-- 
GitLab


From 0d7b7a9651068af8347d0f5e4469577633975e5e Mon Sep 17 00:00:00 2001
From: Hadllee <iliagorbunov71@gmail.com>
Date: Mon, 31 Mar 2025 15:28:46 +0700
Subject: [PATCH 4/4] Lab2 done

---
 src/Main.java | 25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/Main.java b/src/Main.java
index 287ad23..8fe0887 100644
--- a/src/Main.java
+++ b/src/Main.java
@@ -1,3 +1,4 @@
+import java.util.Scanner;
 public class Main {
     public static double calcIntegral(double start, double end, int split, int a, int b, int c){
         if (end == start){
@@ -16,7 +17,7 @@ public class Main {
         return currentIntegral;
     }
 
-    public static double[][] makeTableData(int start, double end, int split, int a, int b, int c, int size){
+    public static double[][] makeTableData(double start, double end, int split, int a, int b, int c, int size){
         double[][] integralArray = new double[size+1][size+1];
         double length = (end - start)/(size - 1);
 
@@ -68,10 +69,24 @@ public class Main {
 
     }
     public static void main(String[] args) {
-        consoleTable(makeTableData(-5, 5, 100000, 1, 0, -3, 11));
-
-
-
+        Scanner in = new Scanner(System.in);
+        System.out.println("Введите коэффициенты уравнения a, b, c:");
+        System.out.print("a = ");
+        int a = in.nextInt();
+        System.out.print("b = ");
+        int b = in.nextInt();
+        System.out.print("c = ");
+        int c = in.nextInt();
+        System.out.println("Введите интервал интегрирования:");
+        System.out.print("РћС‚ ");
+        double start = in.nextDouble();
+        System.out.print("До ");
+        double end = in.nextDouble();
+        System.out.println("Размер таблицы");
+        int size = in.nextInt();
+        System.out.println("Число разбиений");
+        int split = in.nextInt();
+        consoleTable(makeTableData(start, end, split, a, b, c, size));
 
         }
 
-- 
GitLab