Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 4

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

13.12.2012, 16:38. Показов 5826. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Существует вот такой вот код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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 введено в консоли.
Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.12.2012, 16:38
Ответы с готовыми решениями:

Вывод простых чисел из массива
здравствуйте. я в интернете нашел программу которая выбирает простые числа из массива, но до сих пор не могу понять что такое &quot;...

Вывод рандомного массива в textBox
Здраствуйте. Сталкнулся с тем что незнаю - Как задать через textBox размерность я затем по нажатию button вывести рандомный массив в другой...

Вывод рандомного элемента массива в edit
Есть массив со словами, нужно чтобы случайное - выводилось в edit. Завис над этой задачкой

9
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 7
13.12.2012, 17:04
Что то не особо понятно как представленный код относится к заданию "вывести простые числа"...
И как его можно оптимизировать, если он делает совершенно другие вещи?
0
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 4
13.12.2012, 17:07  [ТС]
Данный код представлен полностью для возможной оптимизации и подсказки к исправлению людей, которые не новички.

C#
1
2
3
4
5
6
var random = new Random();          
            for (int i = 0; i < lMass.Length; i++)
            {
                lMass[i] = random.Next(999);                            
             
            }
Вот из этого массива нужно выбрать числа, которые являются простыми.

В принципе все действия, описанные тут, выполняются по одному рандомному одномерному массиву.
0
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
13.12.2012, 17:09
Цитата Сообщение от pofigos Посмотреть сообщение
lMass[i] = random.Next(UstChislo); , где UstChislo введено в консоли.
У метода Next класса Random есть перегрузка
random.Next(min, max);
где min - минимальное значение диапазона, max - максимальное значения диапазона присваиваемых значений.
1
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 4
13.12.2012, 17:14  [ТС]
Так же возник вопрос, как организовать запрет на ввод в консоли нуля или отрицательного значения?
0
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
13.12.2012, 17:18
Цитата Сообщение от pofigos Посмотреть сообщение
Так же возник вопрос, как организовать запрет на ввод в консоли нуля или отрицательного значения?
C#
1
2
3
4
5
6
int x=0;
do
{
   x=Int16.Parse(Console.ReadLine());
   if(x<=0) Console.WriteLine("Нужно вводить значение больше 0. Введите значение...");
} while(x<=0)
0
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 4
13.12.2012, 17:21  [ТС]
Спасибо. С выборкой простых чисел вроде как разобрался.
0
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 7
13.12.2012, 17:42
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
class Program
    {
        static void Main(string[] args)
        {
            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(lMass[i]);
            }
 
            for (int i = 0; i < lMass.Length; i++)
            {
                bool flag = true;
                for (int j = 2; j < lMass[i]; j++)
                {
                    if ((lMass[i] % j) == 0)
                    {
                        flag = false;
                        break;
                    }
                    
                }
 
                if (flag)
                {
                    Console.WriteLine("Число {0} простое. Позиция в массиве {1}", lMass[i], i);
                    flag = false;
                }
            }
 
                Console.ReadKey();
        }
    }
0
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 46
22.09.2016, 14:09
Есть вот такая идея
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 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;
        }
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
22.09.2016, 14:17

Не по теме:

Цитата Сообщение от pofigos Посмотреть сообщение
if (NulCH!="")
* * * * * * * * Console.WriteLine("В массиве присутствует число, не относящее к четным или нечетным: " + NulCH);
шедевр!! :)



черт, не заметил, некротема. фуфуфу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.09.2016, 14:17
Помогаю со студенческими работами здесь

Вывод рандомного числа из заданного массива
Подскажите пожалуйста каким образом можно &quot;рандомно&quot; вывести на экран из массива число. Например задан массив int mas={12, 23, 45, 0, 10,...

Вывод рандомного массива по возрастанию и убыванию
Заполнить массив из восьми элементов таким образом, чтобы значения элементов при просмотре массива слева направо образовывали: а)...

Вывод рандомного массива без повторений в TextBox
В TextBox рандомно вывожу один из элементов массива. При нажатии на кнопку должен выводится другой элемент массива, но чтобы он не...

Вывод простых чисел от m до n
Здравствуйте! Возникла проблемка с задачкой. Требуется вывести все простые числа от m до n, при условии, что 2&lt;=m&lt;=n&lt;=1000000....

Вывод простых чисел
Всем привет, люди помогите написать программу очень нужно и если можно то с комментариями. Написать программу, которая выводит простые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru