Program.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System.Collections.Generic;
  2. using System.Runtime.InteropServices;
  3. using System.Runtime.Intrinsics.X86;
  4. using System.Security.Principal;
  5. using System.Text;
  6. namespace AvrNum
  7. {
  8. internal class Program
  9. {
  10. static List<int> ListOfNumbers = new List<int>();
  11. static void Main(string[] args)
  12. {
  13. CreateList();
  14. OutputList();
  15. CalculationAverage();
  16. }
  17. static public void CreateList()
  18. {
  19. try
  20. {
  21. Console.WriteLine("Введите размерность массива");
  22. int amountElements = Convert.ToInt32(Console.ReadLine());
  23. Random r = new Random();
  24. for (int i = 0; i < amountElements; i++)
  25. {
  26. ListOfNumbers.Add(r.Next(-10, 10));
  27. }
  28. }
  29. catch (Exception ex)
  30. {
  31. if(ex is IndexOutOfRangeException)
  32. {
  33. Console.WriteLine("Вы ввели некорректное значение количетсва элементов, оно не должно быть меньше нуля");
  34. }
  35. if(ex is InvalidCastException)
  36. {
  37. Console.WriteLine("Вы ввели некорректное значение количетсва элементов, оно должно быть целым числом");
  38. }
  39. }
  40. }
  41. static public void OutputList()
  42. {
  43. foreach(int i in ListOfNumbers)
  44. {
  45. Console.Write($"{ListOfNumbers[i]} ");
  46. }
  47. }
  48. static public void CalculationAverage()
  49. {
  50. double summOfPositive = 0;
  51. int countOfPositive = 0;
  52. foreach (int i in ListOfNumbers)
  53. {
  54. if (i > 0)
  55. {
  56. summOfPositive += i;
  57. countOfPositive++;
  58. }
  59. }
  60. Console.WriteLine("\nСреднее арифметичское массива = " + (summOfPositive / countOfPositive));
  61. }
  62. }
  63. }