Решение 5 задач с одномерными массивами в одной программе - C#

Узнай цену своей работы

Формулировка задачи:

Последние 5 задач из этой темы простые программына С# 26. В одномерном массиве, состоящем из N вещественных элементов вычислить сумму отрицательных элементов массива. 27. В одномерном массиве, состоящем из N вещественных элементов вычислить произведение элементов массива, расположенных между максимальным и минимальным элементом. 28. В одномерном массиве, состоящем из N целочисленных элементов вычислить произведение элементов с четными номерами. 29. В одномерном массиве, состоящем из N целочисленных элементов вычислить минимальный элемент массива. 30. В одномерном массиве, состоящем из N целочисленных элементов вычислить индекс максимального элемента массива. Объединил в одной программе,пользователю pumma пригодиться да и всем остальным тоже кому интересно изучить примитивные действия с одномерными массивами
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ForForum1
  7. {
  8. class Program
  9. {
  10. public static void sumotric(double[] myArr)
  11. {
  12. double sum=0;
  13. for (int i = 0; i < myArr.Length; i++)
  14. {
  15. if (myArr[i] < 0)
  16. sum += myArr[i];
  17. }
  18. Console.WriteLine("Сумма отрицательных элементов = "+sum);
  19. }
  20. public static void proizvedenie(double[] myArr)
  21. {
  22. double proizvd = 1;
  23. int min = 0;
  24. int max = 0;
  25. for (int i = 1; i < myArr.Length; i++)
  26. {
  27. if (myArr[i] < myArr[min])
  28. min = i;
  29. else if (myArr[i] > myArr[max])
  30. max = i;
  31. }
  32. int startindex = Math.Min(min, max), endindex = Math.Max(min, max);
  33. for (int i = startindex; i < endindex; i++)
  34. {
  35. proizvd *= myArr[i];
  36. }
  37. Console.WriteLine("Произведение между минимальным и максимальным элементом = " + proizvd);
  38. }
  39. public static void proizvedeniechetnoe(double[] myArr)
  40. {
  41. double proizchet = 1;
  42. Console.WriteLine("Элементы с чётными номерами/индексами");
  43. for (int i = 0; i < myArr.Length; i+=2)
  44. {
  45. proizchet *= myArr[i];
  46. Console.WriteLine(myArr[i] + " ");
  47. }
  48. Console.WriteLine("Произведение элементов с чётными номерами/индексами = "+ proizchet);
  49. }
  50. public static void minelement(double[] myArr)
  51. {
  52. double mine = 0;
  53. for (int i = 0; i < myArr.Length; i++)
  54. {
  55. if (mine > myArr[i])
  56. mine = myArr[i];
  57. }
  58. Console.WriteLine("Минимальный элемент одномерного массива = "+ mine);
  59. }
  60. public static void maxindex(double[] myArr)
  61. {
  62. double maxi = 0;
  63. int index = 0;
  64. for (int i = 0; i < myArr.Length; i++)
  65. {
  66. if (maxi <= myArr[i])
  67. {
  68. maxi = myArr[i];
  69. index = i;
  70. }
  71. }
  72. Console.WriteLine("Максимальный индекс одномерного массива = " + index);
  73. }
  74. static void Main(string[] args)
  75. {
  76. int n,symb;
  77. Random rand = new Random();
  78. Console.WriteLine("Введите количество элементов массива");
  79. n = Convert.ToInt32(Console.ReadLine());
  80. double [] myArr = new double[n];
  81. Console.WriteLine("Полученный массив вещественных чисел:");
  82. for (int i = 0; i < n; i++)
  83. {
  84. myArr[i]=rand.Next(-20,20);
  85. Console.Write(myArr[i]+ " ");
  86. }
  87. Console.WriteLine();
  88. do
  89. {
  90. Console.Write("Меню:\n1 - Вычислить сумму отрицательных элементов массива\n2 - Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементом\n3 - Вычислить произведение элементов с четными номерами \n4 - Вычислить минимальный элемент массива \n5 - Вычислить индекс максимального элемента массива \n6 - Выход из программы \nВыберите нужный вам пункт меню: ");
  91. symb = int.Parse(Console.ReadLine());
  92. switch (symb)
  93. {
  94. case 1:
  95. sumotric(myArr);
  96. break;
  97. case 2:
  98. proizvedenie(myArr);
  99. break;
  100. case 3:
  101. proizvedeniechetnoe(myArr);
  102. break;
  103. case 4:
  104. minelement(myArr);
  105. break;
  106. case 5:
  107. maxindex(myArr);
  108. break;
  109. case 6:
  110. Environment.Exit(0);
  111. break;
  112. default:
  113. Console.WriteLine("Ошибка!Можно выбрать только пункты - 1,2,3,4,5,6");
  114. break;
  115. }
  116. Console.ReadLine();
  117. }
  118. while (symb != 6);
  119. Console.ReadKey();
  120. }
  121. }
  122. }

Решение задачи: «Решение 5 задач с одномерными массивами в одной программе»

textual
Листинг программы
  1.             double myPow27 = 1;
  2.             var _a = a.SkipWhile(i => i != a.Max() && i != a.Min());
  3.             var max = a.Max();
  4.             var min = a.Min();
  5.  
  6.             _a.TakeWhile((x, i) => _a.First() == max
  7.             ? i != a.ToList().IndexOf(min + 1)
  8.             : i != a.ToList().IndexOf(max + 1))
  9.             .ToList().ForEach(i => myPow27 *= i);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы