Как сравнить число в массиве введенное с клавиатуры? - C#

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

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

Выполнил задание, но очень коряво
{
    class Program
    {
        int[] a = new int[10];
 
        public void genRand()
        {
            Random r = new Random();
            for (int i = 0; i < a.Length; i++)
            {
                a[i] = r.Next(0, 100);
                Console.Write(a[i] + " ");
            }
        }
        public void Bubble()
        {
            for (int i = 0; i < a.Length; i++)
            {
                for (int j = i + 1; j < a.Length; j++)
                {
                    if (a[i] > a[j])
                    {
                        int rez = a[i];
                        a[i] = a[j];
                        a[j] = rez;
                    }
                }
                Console.Write(a[i] + " ");
            }
            Console.WriteLine();
        }
        public void search()
        {
            {
                string firstString = Console.ReadLine();
                int firstArg = Convert.ToInt32(firstString);
                for (int mass = 0; mass < a.Length; mass++)
                {
                    if (mass > firstArg)
                    {
                        mass = firstArg;
                    }
                    else
                    {
                        Console.WriteLine("Такого числа нет");
                    }
                }
                {
                    Console.WriteLine("Число '" + firstArg + "' содержится в массиве");
                }
 
            }
        }
        static void Main(string[] args)
        {
            Program sort = new Program();
            sort.genRand();
            Console.WriteLine();
            Console.ReadKey();
            sort.Bubble();
            Console.WriteLine("Введите число и нажмите клавишу Enter: ");
            sort.search();
            Console.ReadKey();
        }
    }
}
При проверке цикл обходит массив, и выдает ответ сравнения с каждым элементом в массиве, а если такого числа нет, то программа не закрывает себя. Хочу привести к вменяемому виду, чтобы если число содержится в массиве, выдавалось сообщение 1 раз и не больше, что такое число есть, либо если его нету, то так же 1 раз сказала что такого числа нет. Думаю можно попробовать через bool, но компилятор говорит об ошибке, тип данных int32 не возможно преобразовать в bool. Сам только учусь писать на C#, может кто помочь с решением проблемы?

Решение задачи: «Как сравнить число в массиве введенное с клавиатуры?»

textual
Листинг программы
bool math = false;
 
            int number = Int32.Parse(Console.ReadLine());
 
            int[] myLovelyArray = new int[10];
            Random r = new Random();
            for (int i = 0; i < myLovelyArray.Length; ++i)
                myLovelyArray[i] = r.Next(0, 100);
 
            foreach (int a in myLovelyArray)
            {
                if (a == number) math = true;
            }
 
            if (math) Console.WriteLine("Число {0} есть в массиве", number);
            else Console.WriteLine("Числа {0} нет в массиве", number);
 
            Console.WriteLine(String.Join(" ", myLovelyArray));

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


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

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

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