Решение 5 задач с одномерными массивами в одной программе - C#
Формулировка задачи:
Последние 5 задач из этой темы простые программына С#
26. В одномерном массиве, состоящем из N вещественных элементов вычислить сумму отрицательных элементов массива.
27. В одномерном массиве, состоящем из N вещественных элементов вычислить произведение элементов массива, расположенных между максимальным и минимальным элементом.
28. В одномерном массиве, состоящем из N целочисленных элементов вычислить произведение элементов с четными номерами.
29. В одномерном массиве, состоящем из N целочисленных элементов вычислить минимальный элемент массива.
30. В одномерном массиве, состоящем из N целочисленных элементов вычислить индекс максимального элемента массива.
Объединил в одной программе,пользователю pumma пригодиться да и всем остальным тоже кому интересно изучить примитивные действия с одномерными массивами
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ForForum1
- {
- class Program
- {
- public static void sumotric(double[] myArr)
- {
- double sum=0;
- for (int i = 0; i < myArr.Length; i++)
- {
- if (myArr[i] < 0)
- sum += myArr[i];
- }
- Console.WriteLine("Сумма отрицательных элементов = "+sum);
- }
- public static void proizvedenie(double[] myArr)
- {
- double proizvd = 1;
- int min = 0;
- int max = 0;
- for (int i = 1; i < myArr.Length; i++)
- {
- if (myArr[i] < myArr[min])
- min = i;
- else if (myArr[i] > myArr[max])
- max = i;
- }
- int startindex = Math.Min(min, max), endindex = Math.Max(min, max);
- for (int i = startindex; i < endindex; i++)
- {
- proizvd *= myArr[i];
- }
- Console.WriteLine("Произведение между минимальным и максимальным элементом = " + proizvd);
- }
- public static void proizvedeniechetnoe(double[] myArr)
- {
- double proizchet = 1;
- Console.WriteLine("Элементы с чётными номерами/индексами");
- for (int i = 0; i < myArr.Length; i+=2)
- {
- proizchet *= myArr[i];
- Console.WriteLine(myArr[i] + " ");
- }
- Console.WriteLine("Произведение элементов с чётными номерами/индексами = "+ proizchet);
- }
- public static void minelement(double[] myArr)
- {
- double mine = 0;
- for (int i = 0; i < myArr.Length; i++)
- {
- if (mine > myArr[i])
- mine = myArr[i];
- }
- Console.WriteLine("Минимальный элемент одномерного массива = "+ mine);
- }
- public static void maxindex(double[] myArr)
- {
- double maxi = 0;
- int index = 0;
- for (int i = 0; i < myArr.Length; i++)
- {
- if (maxi <= myArr[i])
- {
- maxi = myArr[i];
- index = i;
- }
- }
- Console.WriteLine("Максимальный индекс одномерного массива = " + index);
- }
- static void Main(string[] args)
- {
- int n,symb;
- Random rand = new Random();
- Console.WriteLine("Введите количество элементов массива");
- n = Convert.ToInt32(Console.ReadLine());
- double [] myArr = new double[n];
- Console.WriteLine("Полученный массив вещественных чисел:");
- for (int i = 0; i < n; i++)
- {
- myArr[i]=rand.Next(-20,20);
- Console.Write(myArr[i]+ " ");
- }
- Console.WriteLine();
- do
- {
- Console.Write("Меню:\n1 - Вычислить сумму отрицательных элементов массива\n2 - Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементом\n3 - Вычислить произведение элементов с четными номерами \n4 - Вычислить минимальный элемент массива \n5 - Вычислить индекс максимального элемента массива \n6 - Выход из программы \nВыберите нужный вам пункт меню: ");
- symb = int.Parse(Console.ReadLine());
- switch (symb)
- {
- case 1:
- sumotric(myArr);
- break;
- case 2:
- proizvedenie(myArr);
- break;
- case 3:
- proizvedeniechetnoe(myArr);
- break;
- case 4:
- minelement(myArr);
- break;
- case 5:
- maxindex(myArr);
- break;
- case 6:
- Environment.Exit(0);
- break;
- default:
- Console.WriteLine("Ошибка!Можно выбрать только пункты - 1,2,3,4,5,6");
- break;
- }
- Console.ReadLine();
- }
- while (symb != 6);
- Console.ReadKey();
- }
- }
- }
Решение задачи: «Решение 5 задач с одномерными массивами в одной программе»
textual
Листинг программы
- double myPow27 = 1;
- var _a = a.SkipWhile(i => i != a.Max() && i != a.Min());
- var max = a.Max();
- var min = a.Min();
- _a.TakeWhile((x, i) => _a.First() == max
- ? i != a.ToList().IndexOf(min + 1)
- : i != a.ToList().IndexOf(max + 1))
- .ToList().ForEach(i => myPow27 *= i);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д