Вывод простых чисел из рандомного массива - C#

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

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

Добрый день. Существует вот такой вот код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Задание_1
{
    class Program
    {
        static void Main(string[] args)
        {
            String Chet = "";
            String Nechet = "";
            String NulCH = "";

            Console.Write("Введите размер массива: ");
            int[] lMass = new int[int.Parse(Console.ReadLine())];
 
            //заполнение массива случайными числами
            var random = new Random();          
            for (int i = 0; i < lMass.Length; i++)
            {
                lMass[i] = random.Next(999);                            
             
            }
 
            Console.WriteLine("Исходный массив:");
            for (int i = 0; i < lMass.Length; i++) Console.Write(lMass[i] + " ");
            //вывод четных и нечетных чисел
            Console.WriteLine("\n");
            foreach (int x in lMass)
            {
                if (x == 0)
                    NulCH = Convert.ToString(x);
                else if (x % 2 == 0)
                    Chet = Chet + Convert.ToString(x) + ", ";
                else if (x % 2 != 0)
                    Nechet = Nechet + Convert.ToString(x) + ", ";
            }
 
            Console.WriteLine("Четные числа массива: " + Chet+"\n Нечетные числа массива: " + Nechet);
            if (NulCH!="")
                Console.WriteLine("В массиве присутствует число, не относящее к четным или нечетным: " + NulCH);      

            for (int i = 0; i < lMass.Length; i++)
            {
                if (lMass[i] == lMass.Min())
                { 
                     Console.WriteLine("\nМинимальное значение массива: "+i+"-й, равен " + lMass.Min());
                     break;
                }
            }
            for (int i = 0; i < lMass.Length; i++)
            {
                if (lMass[i] == lMass.Max())
                {
                    Console.WriteLine("Максимальное значение массива: " + i + "-й, равен " + lMass.Max());
                     break;
                }
            }          
            //Поиск чисел, кратных заданному
            Console.Write("Поиск чисел, кратное: ");
            int Kratn = int.Parse(Console.ReadLine());

            int poisk = 0;
            foreach (int x in lMass)
            {
                if (x % Kratn == 0) Console.Write(x + ",");
                poisk++;
            }
 
            if (poisk == 0)
                Console.Write("Отсутствуют числа, кратные " + Kratn);
 
            Console.ReadKey();
        }
    }    
}
Помогите вывести все числа массива, которые относятся к простым. Сам код не прошу, но не отказался бы. Так же просьба, у кого есть время, посмотреть и помочь оптимизировать (уменьшить кол-во кода, подсказать, как было бы все это сделать проще и т.д.) Так же возникла проблема при установке предела рандома. Была идея запихнуть ввод числа через консоль и выводить lMass[i] = random.Next(UstChislo); , где UstChislo введено в консоли. Спасибо.

Решение задачи: «Вывод простых чисел из рандомного массива»

textual
Листинг программы
 private void button1_Click(object sender, EventArgs e)
        {
            string[] G = new string[] {"А", "а", "Е", "є", "Є","є", "И", "и", "І", "і", "Ї", "ї","О", "о", "У" ,"у", "Ю", "ю", "Я" ,"я"};//10
            string[] P = new string[] {"Б", "б", "В", "в", "Г", "г", "Ґ", "ґ", "Д", "д", "Ж", "ж", "3", "з","Й", "й", "К", "к", "Л", "л", "М", "м", "Н", "н", "П", "п", "Р", "р", "С", "с", "Т", "т", "Ф", "ф", "X", "х", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ"};//22
 
            Random rnd = new Random();
            string str = "";
            string[] mas = new string[4];
            mas[0] = G[rnd.Next(0, 9)];
            mas[1] = P[rnd.Next(0, 21)];
            mas[2] = P[rnd.Next(0, 21)];
            mas[3] = rnd.Next(0,9).ToString();
 
            bool flag = false;
 
            while(flag == false)
            {
                if(str.Length != 4)
                {
                    string res = mas[rnd.Next(mas.GetLength(0))];
                    if (str.Contains(res))
                    {
 
                    }
                    else
                    {
                        str += res;
                    }
                }
                else
                {
                    flag = true;
                }
               
            }    
            textBox1.Text = str;
        }

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


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

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

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