Проверка массива на наличие определенных чисел - 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]);
                }
            }

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


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

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

5   голосов , оценка 3.4 из 5
Похожие ответы