Проверка массива на наличие определенных чисел - C#
Формулировка задачи:
Здравствуйте.
Есть такой вопрос - как проверять в массиве наличие определенных чисел, а потом, если эти числа найдены, проводить определенные операции?
Вот есть такая программа.
Если в массиве plr, например, есть числа 3 и 7, то 2 и 6 элемент массива power надо умножить на определенный коэффициент.
Что-то типа такого:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace lab04___diskret { class Program { static void Main(string[] args) { Random rand = new Random(); Int32[] players = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; Int32[] power = { 3, 2, 5, 4, 7, 10, 5, 6, 7, 4 }; List<Int32> lst = new List<Int32>(); double N = 0.7; double S = 0.5; Int32[] plr = new Int32[6]; // здесь будут храниться 6 случайных неповторяющихся строк из players int k; double allpower = 0; for (int i = 0; i < plr.Length; i++) { while (true) { k = rand.Next(players.Length); if (!lst.Any(x => x.Equals(players[k]))) { lst.Add(players[k]); break; } } } foreach (var i in plr) { } Console.ReadKey(); } } }
if ((plr[i] == 3) & (plr[i] == 7)) allpower = (power[2] * N) + (power[6] * S); if ((plr[i] == 9) & (plr[i] == 7)) allpower = (power[8]) + (power[6]); Console.WriteLine(i);
Решение задачи: «Проверка массива на наличие определенных чисел»
textual
Листинг программы
// Искомые элементы int[] searchElems = new int[] {3, 7}; // Изменяемые элементы int[] editElems = new int[] {2, 5}; // Функция, что надо сдлеать с элементами Func<int, int> operation = (i) => i*2; if (searchElems.All(x => plr.Contains(x))) { allpower = 0; foreach (var e in editElems) { allpower += operation(power[e]); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д