using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using static System.Windows.Forms.VisualStyles.VisualStyleElement; namespace Praktika { public partial class Form1 : Form { public Form1() { InitializeComponent(); } int[,] array2D; public static int flag = 0; private void ButtonOne_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBoxLen.Text) || string.IsNullOrEmpty(textBoxMin.Text) || string.IsNullOrEmpty(textBoxMax.Text)) { MessageBox.Show("Пожалуйста, введите все необходимые данные для создания массива."); return; } int[] array = new int[Convert.ToInt32(textBoxLen.Text)]; Random random = new Random(); for (int i = 0; i < array.Length; i++) { array[i] = random.Next(Convert.ToInt32(textBoxMin.Text), Convert.ToInt32(textBoxMax.Text)); } arrayTextBox.Text = string.Join(", ", array); } private void ButtonTwo_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBoxLen.Text) || string.IsNullOrEmpty(textBoxMin.Text) || string.IsNullOrEmpty(textBoxMax.Text)) { MessageBox.Show("Пожалуйста, введите все необходимые данные для создания массива."); return; } int rows = Convert.ToInt32(textBoxLen.Text); int columns = Convert.ToInt32(textBoxLen.Text); array2D = new int[rows, columns]; Random random = new Random(); for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { array2D[i, j] = random.Next(Convert.ToInt32(textBoxMin.Text), Convert.ToInt32(textBoxMax.Text)); } } // Вывод двумерного массива в текстовое поле StringBuilder sb = new StringBuilder(); for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { sb.Append(array2D[i, j] + " "); } sb.AppendLine(); } arrayTextBox.Text = sb.ToString(); } private void Button1_Click(object sender, EventArgs e) { int[] array = Array.ConvertAll(arrayTextBox.Text.Split(','), int.Parse); int maxLength = 0; int seriesStartIndex = 0; int seriesLength = 0; for (int i = 1; i < array.Length; i++) { int currentLength = 1; for (int j = i; j < array.Length - 1; j++) { if (array[j] % array[j - 1] == 0) { currentLength++; } else { break; } } if (currentLength > maxLength && currentLength >= 2) { maxLength = currentLength; seriesStartIndex = i - 1; seriesLength = currentLength; } } MessageBox.Show($"Серия с максимальной длиной начинается с позиции {seriesStartIndex} и имеет длину {seriesLength}"); flag = 1; } private void Button9_Click(object sender, EventArgs e) { if (flag == 1) { richTextBox1.Text = "Дан целочисленный одномерный массив размера N." + "Серия – это последовательность элементов массива, идущих друг за другом." + "Каждый элемент серии делился нацело на предыдущий.Серия должна" + "содержать минимум 2 элемента.Длина серии – количество элементов в" + "серии.Найти серию с максимальной длиной.Вывести с какой позиции" + "начинается серия и ее длину."; } else if (flag == 2) { richTextBox1.Text = ""; } else if (flag == 3) { richTextBox1.Text = ""; } else if (flag == 4) { richTextBox1.Text = ""; } else if (flag == 5) { richTextBox1.Text = ""; } else if (flag == 6) { richTextBox1.Text = ""; } else { MessageBox.Show("Пожалуйста, выберите задание"); } } private void button10_Click(object sender, EventArgs e) { if (flag == 1) { } } private void Button2_Click(object sender, EventArgs e) { int[] array = Array.ConvertAll(arrayTextBox.Text.Split(','), int.Parse); int Min = int.MaxValue, minIndex = -1, Max = int.MinValue, maxIndex = -1; for (int i = 0; i < array.Length; i++) { if (array[i] > Max && array[i] < 0) { Max = array[i]; maxIndex = i; } if (array[i] < Min && array[i] > 0) { Min = array[i]; minIndex = i; } } int begin = Math.Min(minIndex, maxIndex) + 1, end = Math.Max(minIndex, maxIndex) - 1; for (; begin < end; begin++, end--) { int tmp = array[begin]; array[begin] = array[end]; array[end] = tmp; } richTextBox1.Text = string.Join(", ", array); } private void Button3_Click(object sender, EventArgs e) { int[] array = Array.ConvertAll(arrayTextBox.Text.Split(','), int.Parse); for (int i = 0; i < array.Length; i++) { if (array[i] < 0) { Array.Resize(ref array, array.Length + 1); // Увеличиваем размер массива на 1 for (int j = array.Length - 1; j > i + 1; j--) // Сдвигаем все элементы после текущего на 1 позицию вправо { array[j] = array[j - 1]; } array[i + 1] = -1; // Вставляем число 2 после текущего элемента i++; // Пропускаем следующую итерацию цикла, чтобы не обрабатывать вставленное число 2 } } richTextBox1.Text = string.Join(", ", array); } private void Button4_Click(object sender, EventArgs e) { int[] array = Array.ConvertAll(arrayTextBox.Text.Split(','), int.Parse); for (int i = 0; i < array.Length; i++) { if (array[i] < 0) { // Увеличиваем размер массива на 1 for (int j = i; j < array.Length - 1; j++) // Сдвигаем все элементы после текущего на 1 позицию вправо { array[j] = array[j + 1]; } Array.Resize(ref array, array.Length - 1); i--; } } richTextBox1.Text = string.Join(", ", array); } private void Button5_Click(object sender, EventArgs e) { /* int m = arrayTextBox.Lines.Length-1; int n = arrayTextBox.Lines[0].Split(' ').Length-1; int[,] array = new int[m, n]; for (int i = 0; i < m; i++) { string[] s = arrayTextBox.Lines[i].Split(' '); for (int j = 0; j < n; j++) { array[i, j] = Int32.Parse(s[j]); } } richTextBox1.Text = string.Join(", ", array);*/ int[,] array2 = array2D; } } }