From 38f968c0f295e90488a60be8664ab66e180145be Mon Sep 17 00:00:00 2001 From: maria7987897 Date: Fri, 28 Nov 2025 13:43:47 +0300 Subject: [PATCH 1/4] Update White.cs --- Lab4/White.cs | 525 ++++++++++++++++++-------------------------------- 1 file changed, 186 insertions(+), 339 deletions(-) diff --git a/Lab4/White.cs b/Lab4/White.cs index bd7da4c..70dc09e 100644 --- a/Lab4/White.cs +++ b/Lab4/White.cs @@ -1,502 +1,349 @@ -namespace Lab4 +namespace Lab4 { public class White { - public double Task1(int[] vector) - { - double length = 0; + public double Task1(int[] vector) + { + double length = 0; - // code here - for (int i = 0; i < vector.Length; i++) - { - length += Math.Pow(vector[i], 2); - } - length = Math.Sqrt(length); - Console.WriteLine(length); - // end - - return length; + // code here + if (vector == null) + return 0; + for (int i = 0; i < vector.Length; i++) + { + length += vector[i] * vector[i]; } - - - + length = Math.Sqrt(length); + // end - - public int Task2(int[] array, int P, int Q) - { + public int Task2(int[] array, int P, int Q) int count = 0; - // code here - for (int i = 0; i < array.Length; i++) { - if (P < array[i] && array[i]< Q) { + int amin = Math.Min(Q, P); + int amax = Math.Max(Q, P); + for (int i = 0; i < array.Length; i++) + { + if (array[i] > amin && array[i] < amax) + { count++; } } - Console.WriteLine(count); - // end - return count; - } - - - - - public void Task3(int[] array) + public void Task3(int[] array) { - // code here - if (array == null || array.Length == 0) - return; - int maxIndex = 0; - for (int i = 0; i < array.Length; i++) { - if (array[i] > array[maxIndex]) { - maxIndex= i; - } - } - if (maxIndex == array.Length - 1) { return; } - - int min = maxIndex + 1; - for (int i = maxIndex + 2; i < array.Length; i++) + if (array != null && array.Length > 1) { - if (array[i] < array[min]) { min = i; } - } + int maxIndex = 0; + for (int i = 1; i < array.Length; i++) + { + if (array[i] > array[maxIndex]) + maxIndex = i; + } - (array[maxIndex], array[min]) = (array[min], array[maxIndex]); - Console.WriteLine(string.Join(",", array)); + if (maxIndex < array.Length - 1) + { + int minIndex = maxIndex + 1; + for (int i = maxIndex + 2; i < array.Length; i++) + { + if (array[i] < array[minIndex]) + minIndex = i; + } + if (array[minIndex] != array[maxIndex]) + { + int temp = array[maxIndex]; + array[maxIndex] = array[minIndex]; + array[minIndex] = temp; + } + } + } // end + } - - - - - } + public void Task4(int[] array) { // code here - int maxIndex = 0; - for (int i = 0; i < array.Length; i += 2) + + if (array != null && array.Length > 0) { - if (array[i] > array[maxIndex]) + int maxIndex = 0; + for (int i = 2; i < array.Length; i += 2) { - maxIndex= i; + if (array[i] > array[maxIndex]) + maxIndex = i; } + array[maxIndex] = maxIndex; } - array[maxIndex] = maxIndex; - // end } - - - - - - - - - - - - public int Task5(int[] array, int P) - { +@@ -43,7 +96,20 @@ public int Task5(int[] array, int P) int index = 0; // code here + index = -1; - for (int i = 0; i < array.Length; i++) + if (array != null) { - if (array[i] == P) + for (int i = 0; i < array.Length; i++) { - index = i; - break; - } - } + if (array[i] == P) + { + index = i; + break; + } - Console.WriteLine(index); + } + } // end return index; - } - - - - - - - - - - - - - public void Task6(int[] array) +@@ -52,7 +118,25 @@ public void Task6(int[] array) { // code here - int max = 0; - for (int i =0; i < array.Length; i++) - { - if (array[i] > array[max]) { max = i; } - } - for (int i = 0; i < max-1; i+=2) + if (array != null && array.Length > 1) { - (array[i], array[i+1]) = (array[i+1], array[i]); - } + int maxIndex = 0; + for (int i = 1; i < array.Length; i++) + { + if (array[i] > array[maxIndex]) + maxIndex = i; + } + if (maxIndex > 0) + { + for (int i = 0; i < maxIndex - 1; i += 2) + { + int temp = array[i]; + array[i] = array[i + 1]; + array[i + 1] = temp; + } + } + } // end } - - - - - - - - - - - - - - public int[] Task7(int[] array) - { +@@ -61,6 +145,29 @@ public int[] Task7(int[] array) int[] answer = null; // code here - int c = 0; - for (int i=0; i=0) - c++; - } - - answer = new int[c]; - int j = 0; - for (int i = 0; i < array.Length; i++) - { - if (array[i] >= 0) { - answer[j] = array[i]; - j++; } - } - - // end - - return answer; - } - - - - - + int count = 0; + for (int i = 0; i < array.Length; i++) + { + if (array[i] >= 0) + { + count++; + } + } + answer = new int[count]; + int index = 0; + for (int i = 0;i < array.Length; i++) + { + if (array[i] >= 0) + { + answer[index++] = array[i]; + } + } + } + // end - - public void Task8(int[] array) +@@ -70,7 +177,21 @@ public void Task8(int[] array) { // code here - for (int i = 0; i < array.Length; i++) + + int n = array.Length; + for (int i = 0; i < n - 1; i++) { - int max = array[i]; - int imax = i; - for (int k=i+1; k max) + if (array[k] > amin) { - max = array[k]; - imax = k; + amin = array[k]; + imin = k; } } - (array[i], array[imax] ) = (array[imax], array[i]); + (array[i], array[imin]) = (array[imin], array[i]); } - // end } - - - - - - - - - - - - - - public void Task9(int[] array) - { +@@ -79,6 +200,16 @@ public void Task9(int[] array) // code here - int c = 0; - for (int i = 0; i < array.Length; i++) { c++; } - int [] answer = new int[c]; - int j = 0; - for (int i = array.Length-1; i>=0; i--) { - answer[j] = array[i]; - j++; - } - for (int i = 0; i < array.Length; i++) - { - array[i] = answer[i]; - } + int tepm, n = array.Length; + for (int i = 0; i < n / 2; i++) + { + tepm = array[i]; + array[i] = array[n - i - 1]; + array[n - i - 1] = tepm; + } + } // end } - - - - - - - - - - - - - - public int[] Task10(int[] A, int[] B) - { +@@ -87,7 +218,59 @@ public int[] Task10(int[] A, int[] B) int[] C = null; // code here - if (A.Length == 0 && B.Length == 0) { return new int[0]; } - if (A.Length == 0) { C = new int[B.Length]; + if (A == null && B == null) + { + C = new int[0]; + } + else if (A == null) + { + C = new int[B.Length]; for (int i = 0; i < B.Length; i++) { C[i] = B[i]; } - return C; } - - if (B.Length == 0) + else if (B == null) { C = new int[A.Length]; for (int i = 0; i < A.Length; i++) { C[i] = A[i]; } - return C; } - - int CC = A.Length + B.Length; - C = new int[CC]; - int iA = 0; - int iB = 0; - int iC = 0; - - while (iA < A.Length && iB< B.Length) + else { - C[iC] = A[iA]; - iA++; - iC++; + C = new int[A.Length + B.Length]; + int index = 0; + int minLength = A.Length < B.Length ? A.Length : B.Length; - C[iC] = B[iB]; - iB++; - iC++; - } - while (iA < A.Length) - { - C[iC] = A[iA]; - iA++; - iC++; - } - - while (iB < B.Length) - { - C[iC] = B[iB]; - iB++; - iC++; - } + for (int i = 0; i < minLength; i++) + { + C[index] = A[i]; + index++; + C[index] = B[i]; + index++; + } + if (A.Length > minLength) + { + for (int i = minLength; i < A.Length; i++) + { + C[index] = A[i]; + index++; + } + } + else if (B.Length > minLength) + { + for (int i = minLength; i < B.Length; i++) + { + C[index] = B[i]; + index++; + } + } + } // end return C; - } - - - - - - - - - - - - - - - - public double[] Task11(double a, double b, int n) - { +@@ -97,7 +280,19 @@ public double[] Task11(double a, double b, int n) double[] array = null; // code here - if (n <= 0) { return null; } - if (n == 1) + if (n == 1 && a == b) { - if (a == b) - { - return new double[] { a }; - } - else - { - return null; - } + array = new double[] { a }; } - - if (a == b) { return null; } - - - array = new double[n]; - if (a < b) + else if (n > 1 && a != b) { + array = new double[n]; double step = (b - a) / (n - 1); for (int i = 0; i < n; i++) { array[i] = a + i * step; } } - else - { - double step = (a - b) / (n - 1); - for (int i = 0; i < n; i++) - { - array[i] = a - i * step; - } - } - // end return array; - } - - - - - - - - - - - - - - - - public double[] Task12(double[] raw) - { +@@ -108,10 +303,43 @@ public double[] Task12(double[] raw) double[] restored = null; // code here - if (raw.Length < 3) - { - return null; - } - else + if (raw != null && raw.Length >= 3) { - bool allMinusOne = true; + restored = new double[raw.Length]; + + for (int i = 0; i < raw.Length; i++) { - if (raw[i] != -1) - { - allMinusOne = false; - break; - } + restored[i] = raw[i]; } - if (allMinusOne) + + if (restored[0] == -1.0 && restored[1] != -1.0 && restored[raw.Length - 1] != -1.0) { - restored = new double[raw.Length]; - for (int i = 0; i < raw.Length; i++) - { - restored[i] = -1; - } - return restored; + restored[0] = (restored[1] + restored[raw.Length - 1]) / 2.0; } - restored = new double[raw.Length]; - for (int i = 0; i < raw.Length; i++) + + if (restored[raw.Length - 1] == -1.0 && restored[0] != -1.0 && restored[raw.Length - 2] != -1.0) { - restored[i] = raw[i]; + restored[raw.Length - 1] = (restored[0] + restored[raw.Length - 2]) / 2.0; } - for (int i = 0; i < raw.Length; i++) + + for (int i = 1; i < raw.Length - 1; i++) { - if (raw[i] == -1) + double prev = restored[i - 1]; + double next = restored[i + 1]; + if (restored[i] == -1.0 && prev != -1.0 && next != -1.0) { - double leftNeighbor; - if (i == 0) - { - leftNeighbor = raw[raw.Length - 1]; - } - else - { - leftNeighbor = raw[i - 1]; - } - - double rightNeighbor; - if (i == raw.Length - 1) - { - rightNeighbor = raw[0]; - } - else - { - rightNeighbor = raw[i + 1]; - } - - if (leftNeighbor != -1 && rightNeighbor != -1) - { - restored[i] = (leftNeighbor + rightNeighbor) / 2; - } - + restored[i] = (prev + next) / 2.0; } } } - // end return restored; } } - } +} + + + From dfd1649124c1c4139e3235acb0e9c1554108d99c Mon Sep 17 00:00:00 2001 From: maria7987897 Date: Fri, 28 Nov 2025 13:54:04 +0300 Subject: [PATCH 2/4] Update White.cs --- Lab4/White.cs | 67 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 27 deletions(-) diff --git a/Lab4/White.cs b/Lab4/White.cs index 70dc09e..f4e180d 100644 --- a/Lab4/White.cs +++ b/Lab4/White.cs @@ -81,9 +81,7 @@ public void Task3(int[] array) public void Task4(int[] array) { - // code here - if (array != null && array.Length > 0) { int maxIndex = 0; @@ -97,7 +95,11 @@ public void Task4(int[] array) // end } -@@ -43,7 +96,20 @@ public int Task5(int[] array, int P) + + + + + public int Task5(int[] array, int P) int index = 0; // code here @@ -119,11 +121,17 @@ public void Task4(int[] array) // end return index; -@@ -52,7 +118,25 @@ public void Task6(int[] array) - { - // code here + + + + + + + public void Task6(int[] array) + { + // code here if (array != null && array.Length > 1) { int maxIndex = 0; @@ -132,7 +140,6 @@ public void Task4(int[] array) if (array[i] > array[maxIndex]) maxIndex = i; } - if (maxIndex > 0) { for (int i = 0; i < maxIndex - 1; i += 2) @@ -146,9 +153,13 @@ public void Task4(int[] array) // end } -@@ -61,6 +145,29 @@ public int[] Task7(int[] array) - int[] answer = null; + + + + + public int[] Task7(int[] array) + int[] answer = null; // code here if (array != null) { @@ -161,7 +172,6 @@ public void Task4(int[] array) count++; } - } answer = new int[count]; int index = 0; @@ -173,14 +183,11 @@ public void Task4(int[] array) } } } - // end -@@ -70,7 +177,21 @@ public void Task8(int[] array) + public void Task8(int[] array) { - // code here - int n = array.Length; for (int i = 0; i < n - 1; i++) { @@ -199,10 +206,10 @@ public void Task4(int[] array) // end } -@@ -79,6 +200,16 @@ public void Task9(int[] array) + + public void Task9(int[] array) // code here - { int tepm, n = array.Length; for (int i = 0; i < n / 2; i++) @@ -210,17 +217,17 @@ public void Task4(int[] array) tepm = array[i]; array[i] = array[n - i - 1]; array[n - i - 1] = tepm; - } } // end } -@@ -87,7 +218,59 @@ public int[] Task10(int[] A, int[] B) - int[] C = null; - // code here + + public int[] Task10(int[] A, int[] B) + int[] C = null; + // code here if (A == null && B == null) { C = new int[0]; @@ -277,11 +284,14 @@ public void Task4(int[] array) // end return C; -@@ -97,7 +280,19 @@ public double[] Task11(double a, double b, int n) - double[] array = null; - // code here + + + + public double[] Task11(double a, double b, int n) + double[] array = null; + // code here if (n == 1 && a == b) { array = new double[] { a }; @@ -298,16 +308,18 @@ public void Task4(int[] array) // end return array; -@@ -108,10 +303,43 @@ public double[] Task12(double[] raw) - double[] restored = null; - // code here + + + + public double[] Task12(double[] raw) + double[] restored = null; + // code here if (raw != null && raw.Length >= 3) { restored = new double[raw.Length]; - for (int i = 0; i < raw.Length; i++) { restored[i] = raw[i]; @@ -347,3 +359,4 @@ public void Task4(int[] array) + From 3cdc32063e6d120989b484f941dc201fc4006431 Mon Sep 17 00:00:00 2001 From: maria7987897 Date: Fri, 28 Nov 2025 13:56:42 +0300 Subject: [PATCH 3/4] Update White.cs --- Lab4/White.cs | 122 +++++++++++++++++--------------------------------- 1 file changed, 41 insertions(+), 81 deletions(-) diff --git a/Lab4/White.cs b/Lab4/White.cs index f4e180d..7882249 100644 --- a/Lab4/White.cs +++ b/Lab4/White.cs @@ -2,28 +2,26 @@ namespace Lab4 { public class White { - public double Task1(int[] vector) - { - double length = 0; - - // code here - if (vector == null) - return 0; - for (int i = 0; i < vector.Length; i++) + public double Task1(int[] vector) { - length += vector[i] * vector[i]; - } - length = Math.Sqrt(length); - // end - - + double length = 0; + // code here + if (vector == null) + return 0; + for (int i = 0; i < vector.Length; i++) + { + length += vector[i] * vector[i]; + } + length = Math.Sqrt(length); + // end - + return length; // Добавлен return + } - - public int Task2(int[] array, int P, int Q) - int count = 0; + public int Task2(int[] array, int P, int Q) + { + int count = 0; // Добавлена фигурная скобка // code here int amin = Math.Min(Q, P); int amax = Math.Max(Q, P); @@ -36,12 +34,9 @@ public int Task2(int[] array, int P, int Q) } // end return count; + } - - - - - public void Task3(int[] array) + public void Task3(int[] array) { // code here if (array != null && array.Length > 1) @@ -73,12 +68,6 @@ public void Task3(int[] array) // end } - - - - - - public void Task4(int[] array) { // code here @@ -93,14 +82,11 @@ public void Task4(int[] array) array[maxIndex] = maxIndex; } // end - } - - - public int Task5(int[] array, int P) - int index = 0; + { + int index = 0; // Добавлена фигурная скобка // code here @@ -114,21 +100,13 @@ public int Task5(int[] array, int P) index = i; break; } - } - } // end return index; + } - - - - - - - public void Task6(int[] array) { // code here @@ -151,31 +129,25 @@ public void Task6(int[] array) } } // end - } - - - - public int[] Task7(int[] array) - int[] answer = null; + { + int[] answer = null; // Добавлена фигурная скобка // code here if (array != null) { int count = 0; for (int i = 0; i < array.Length; i++) { - if (array[i] >= 0) { count++; - } } answer = new int[count]; int index = 0; - for (int i = 0;i < array.Length; i++) + for (int i = 0; i < array.Length; i++) { if (array[i] >= 0) { @@ -185,6 +157,9 @@ public int[] Task7(int[] array) } // end + return answer; // Добавлен return + } + public void Task8(int[] array) { // code here @@ -204,29 +179,24 @@ public void Task8(int[] array) (array[i], array[imin]) = (array[imin], array[i]); } // end - } - public void Task9(int[] array) + { // code here + int tepm, n = array.Length; + for (int i = 0; i < n / 2; i++) { - int tepm, n = array.Length; - for (int i = 0; i < n / 2; i++) - { - tepm = array[i]; - array[i] = array[n - i - 1]; - array[n - i - 1] = tepm; - } + tepm = array[i]; + array[i] = array[n - i - 1]; + array[n - i - 1] = tepm; } // end - } - - public int[] Task10(int[] A, int[] B) - int[] C = null; + { + int[] C = null; // Добавлена фигурная скобка // code here if (A == null && B == null) { @@ -254,7 +224,6 @@ public int[] Task10(int[] A, int[] B) int index = 0; int minLength = A.Length < B.Length ? A.Length : B.Length; - for (int i = 0; i < minLength; i++) { C[index] = A[i]; @@ -263,7 +232,6 @@ public int[] Task10(int[] A, int[] B) index++; } - if (A.Length > minLength) { for (int i = minLength; i < A.Length; i++) @@ -284,13 +252,11 @@ public int[] Task10(int[] A, int[] B) // end return C; + } - - - - public double[] Task11(double a, double b, int n) - double[] array = null; + { + double[] array = null; // Добавлена фигурная скобка // code here if (n == 1 && a == b) { @@ -308,13 +274,11 @@ public double[] Task11(double a, double b, int n) // end return array; + } - - - - public double[] Task12(double[] raw) - double[] restored = null; + { + double[] restored = null; // Добавлена фигурная скобка // code here if (raw != null && raw.Length >= 3) { @@ -325,19 +289,16 @@ public double[] Task12(double[] raw) restored[i] = raw[i]; } - if (restored[0] == -1.0 && restored[1] != -1.0 && restored[raw.Length - 1] != -1.0) { restored[0] = (restored[1] + restored[raw.Length - 1]) / 2.0; } - if (restored[raw.Length - 1] == -1.0 && restored[0] != -1.0 && restored[raw.Length - 2] != -1.0) { restored[raw.Length - 1] = (restored[0] + restored[raw.Length - 2]) / 2.0; } - for (int i = 1; i < raw.Length - 1; i++) { double prev = restored[i - 1]; @@ -354,7 +315,6 @@ public double[] Task12(double[] raw) } } } -} From a420c331ab89910270c47a7fa7ffcd48c4b8e7bd Mon Sep 17 00:00:00 2001 From: maria7987897 Date: Fri, 28 Nov 2025 13:58:06 +0300 Subject: [PATCH 4/4] Update White.cs --- Lab4/White.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Lab4/White.cs b/Lab4/White.cs index 7882249..c80f0cd 100644 --- a/Lab4/White.cs +++ b/Lab4/White.cs @@ -16,12 +16,12 @@ public double Task1(int[] vector) length = Math.Sqrt(length); // end - return length; // Добавлен return + return length; } public int Task2(int[] array, int P, int Q) { - int count = 0; // Добавлена фигурная скобка + int count = 0; // code here int amin = Math.Min(Q, P); int amax = Math.Max(Q, P); @@ -86,7 +86,7 @@ public void Task4(int[] array) public int Task5(int[] array, int P) { - int index = 0; // Добавлена фигурная скобка + int index = 0; // code here @@ -133,7 +133,7 @@ public void Task6(int[] array) public int[] Task7(int[] array) { - int[] answer = null; // Добавлена фигурная скобка + int[] answer = null; // code here if (array != null) { @@ -157,7 +157,7 @@ public int[] Task7(int[] array) } // end - return answer; // Добавлен return + return answer; } public void Task8(int[] array) @@ -196,7 +196,7 @@ public void Task9(int[] array) public int[] Task10(int[] A, int[] B) { - int[] C = null; // Добавлена фигурная скобка + int[] C = null; // code here if (A == null && B == null) { @@ -256,7 +256,7 @@ public int[] Task10(int[] A, int[] B) public double[] Task11(double a, double b, int n) { - double[] array = null; // Добавлена фигурная скобка + double[] array = null; // code here if (n == 1 && a == b) { @@ -278,7 +278,7 @@ public double[] Task11(double a, double b, int n) public double[] Task12(double[] raw) { - double[] restored = null; // Добавлена фигурная скобка + double[] restored = null; // code here if (raw != null && raw.Length >= 3) { @@ -320,3 +320,4 @@ public double[] Task12(double[] raw) +