Form1(ПР6).cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using System.Linq;
  3. using System.Windows.Forms;
  4. namespace WindowsFormsApp38
  5. {
  6. public partial class Form1 : Form
  7. {
  8. public Form1()
  9. {
  10. InitializeComponent();
  11. }
  12. private void btnInsertMax_Click(object sender, EventArgs e)
  13. {
  14. // Создаем исходный массив
  15. int[] array = { 1, 0, 3, 0, 5, 0, 7 };
  16. // Находим максимальный элемент в массиве
  17. int maxElement = array.Max();
  18. // Создаем новый массив с добавленным максимальным элементом
  19. int[] newArray = new int[array.Length + CountNonZeroElements(array)];
  20. int index = 0;
  21. for (int i = 0; i < array.Length; i++)
  22. {
  23. newArray[index] = array[i];
  24. index++;
  25. if (array[i] != 0)
  26. {
  27. newArray[index] = maxElement;
  28. index++;
  29. }
  30. }
  31. // Очищаем ListBox перед выводом результата
  32. listBox1.Items.Clear();
  33. // Выводим результат в ListBox вертикально
  34. foreach (int element in newArray)
  35. {
  36. listBox1.Items.Add(element);
  37. }
  38. }
  39. // Метод для подсчета количества ненулевых элементов в массиве
  40. private int CountNonZeroElements(int[] array)
  41. {
  42. int count = 0;
  43. foreach (int element in array)
  44. {
  45. if (element != 0)
  46. {
  47. count++;
  48. }
  49. }
  50. return count;
  51. }
  52. }
  53. }