ArrayCalculate.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. namespace WindowsFormsApp1
  11. {
  12. public partial class fArray : Form
  13. {
  14. public fArray()
  15. {
  16. InitializeComponent();
  17. }
  18. /// <summary>
  19. /// Обьявление исходного массива чтобы он был доступен в любой части программы
  20. /// </summary>
  21. int[] array = new int[15];
  22. /// <summary>
  23. /// Выводит в TexBox массив
  24. /// </summary>
  25. /// <param name="array"> Массив который выводят </param>
  26. /// <param name="newArray"> Булево с помощью которого выбераеться в какое поле вывести </param>
  27. public void OutputArray(int[] array, bool newArray)
  28. {
  29. if (newArray)
  30. {
  31. for (int i = 0; i < array.Length; i++)
  32. {
  33. tbOutputNewArray.Text += $"Array[{i}] = {array[i]}" + Environment.NewLine;
  34. }
  35. } else
  36. {
  37. for (int i = 0; i < array.Length; i++)
  38. {
  39. tbOutputAnswer.Text += $"Array[{i}] = {array[i]}" + Environment.NewLine;
  40. }
  41. }
  42. }
  43. /// <summary>
  44. /// Зполнение массива
  45. /// </summary>
  46. public void NewArray()
  47. {
  48. Random r = new Random();
  49. for (int i = 0; i < array.Length; i++)
  50. {
  51. array[i] = r.Next(-10, 10);
  52. }
  53. OutputArray(array, true);
  54. }
  55. /// <summary>
  56. /// Удаляет элементы массива стоящие на нечетном месте
  57. /// </summary>
  58. public void CalculateArray()
  59. {
  60. int temp = 0;
  61. for (int i = 0; i < array.Length; i++)
  62. {
  63. if (array[i] % 2 == 0)
  64. temp++;
  65. }
  66. int[] newArray = new int[temp];
  67. for (int i = 0, index = 0; i < array.Length; i++)
  68. {
  69. if (array[i] % 2 == 0)
  70. {
  71. newArray[index] = array[i];
  72. index++;
  73. }
  74. }
  75. OutputArray(newArray, false);
  76. }
  77. /// <summary>
  78. /// Метод для обработки нажатия на кнопку, вызывает метод NewArray()
  79. /// </summary>
  80. private void btnFillArray_Click(object sender, EventArgs e)
  81. {
  82. NewArray();
  83. }
  84. /// <summary>
  85. /// Метод для обработки нажатия на кнопку, вызывает метод CalculateArray()
  86. /// </summary>
  87. private void btnReplaceArray_Click(object sender, EventArgs e)
  88. {
  89. CalculateArray();
  90. }
  91. }
  92. }