|
@@ -0,0 +1,62 @@
|
|
|
+using System;
|
|
|
+using System.Linq;
|
|
|
+using System.Windows.Forms;
|
|
|
+
|
|
|
+namespace WindowsFormsApp38
|
|
|
+{
|
|
|
+ public partial class Form1 : Form
|
|
|
+ {
|
|
|
+ public Form1()
|
|
|
+ {
|
|
|
+ InitializeComponent();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void btnInsertMax_Click(object sender, EventArgs e)
|
|
|
+ {
|
|
|
+ // Создаем исходный массив
|
|
|
+ int[] array = { 1, 0, 3, 0, 5, 0, 7 };
|
|
|
+
|
|
|
+ // Находим максимальный элемент в массиве
|
|
|
+ int maxElement = array.Max();
|
|
|
+
|
|
|
+ // Создаем новый массив с добавленным максимальным элементом
|
|
|
+ int[] newArray = new int[array.Length + CountNonZeroElements(array)];
|
|
|
+ int index = 0;
|
|
|
+
|
|
|
+ for (int i = 0; i < array.Length; i++)
|
|
|
+ {
|
|
|
+ newArray[index] = array[i];
|
|
|
+ index++;
|
|
|
+
|
|
|
+ if (array[i] != 0)
|
|
|
+ {
|
|
|
+ newArray[index] = maxElement;
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Очищаем ListBox перед выводом результата
|
|
|
+ listBox1.Items.Clear();
|
|
|
+
|
|
|
+ // Выводим результат в ListBox вертикально
|
|
|
+ foreach (int element in newArray)
|
|
|
+ {
|
|
|
+ listBox1.Items.Add(element);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Метод для подсчета количества ненулевых элементов в массиве
|
|
|
+ private int CountNonZeroElements(int[] array)
|
|
|
+ {
|
|
|
+ int count = 0;
|
|
|
+ foreach (int element in array)
|
|
|
+ {
|
|
|
+ if (element != 0)
|
|
|
+ {
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return count;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|