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

Как рандомно вывести на печать вводимое количество элементов из списка?

09.10.2013, 17:46. Показов 1100. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как рандомно вывести на печать вводимое количество элементов из списка:
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
namespace ConsoleApplication1
       
{
    class MyCollection
    {
       public static Random r = new Random();
       static public void Init()
        {
            var animList = new List<Animals>
        {
        new Mammals() {Type = "Кошка", Name = "Муська", Weihgt = 3, Detachment = "Хищные"},
        new Mammals() {Type = "Дельфин", Name="Лори", Weihgt = 80, Detachment="Китообразные"},
        new Mammals() {Type = "Тушканчик", Name="Туня", Weihgt = 0.1, Detachment="Грызуны"},
        new Artiodactyls() {Type="Лошадь", Name="Стрела", Weihgt=90, NumberOfHorns=false},
        new Artiodactyls() {Type="Корова", Name="Ночка", Weihgt=100, NumberOfHorns=true},
        new Artiodactyls() {Type="Олень", Name="Иммануил", Weihgt=150, NumberOfHorns=true},
        new Birds(){Type="Орел", Name = "Боря", Weihgt=2, Span=100},
        new Birds(){Type="Синица", Name = "Синька", Weihgt=0.3, Span=40},
        new Birds(){Type="Ворон", Name = "Дрон", Weihgt=2, Span=50}
        };
         
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.ReadLine();
        }
    }     
    }
Заранее спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2013, 17:46
Ответы с готовыми решениями:

Переделать чтобы можно было удалять вводимое количество элементов с конца списка
Здравствуйте, нужна помощь. у меня есть код для списка и отдельная функция для удаления одного из элементов списка. мне нужно...

Вывести на печать количество элементов массива
Вывести на печать количество элементов массива А1, А2, … А20, попавших в интервал и их сумму и Задан массив х(5,5). Найти...

Рандомно вывести элемент списка ComboBox
Есть форма на ней 10 combobox'ов хочу сделать кнопку которая рандомно выбирала бы значении и выводила его. Подскажите как это можно...

5
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
09.10.2013, 18:07
izZy, WTF?

Кликните здесь для просмотра всего текста
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
82
using System;
using System.Collections.Generic;
 
namespace RandomFromList
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            MyCollection collection = new MyCollection();
            collection.Init();
            collection.PrintRandom();
 
            Console.ReadLine();
        }
    }
 
    abstract class Animals
    {
        public string Type { get; set; }
        public string Name { get; set; }
        public double Weihgt { get; set; }
 
        public override string ToString()
        {
            return Type + " " + Name + " " + Weihgt;
        }
    }
 
    class Mammals : Animals
    {
        public string Detachment { get; set; }
    }
 
    class Artiodactyls : Animals
    {
        public bool NumberOfHorns { get; set; }
    }
 
    class Birds : Animals
    {
        public int Span { get; set; }
    }
 
    class MyCollection
    {
        Random r = new Random();
        List<Animals> animList;
 
        public void Init()
        {
            animList = new List<Animals>
                {
                    new Mammals {Type = "Кошка", Name = "Муська", Weihgt = 3, Detachment = "Хищные"},
                    new Mammals {Type = "Дельфин", Name = "Лори", Weihgt = 80, Detachment = "Китообразные"},
                    new Mammals {Type = "Тушканчик", Name = "Туня", Weihgt = 0.1, Detachment = "Грызуны"},
                    new Artiodactyls {Type = "Лошадь", Name = "Стрела", Weihgt = 90, NumberOfHorns = false},
                    new Artiodactyls {Type = "Корова", Name = "Ночка", Weihgt = 100, NumberOfHorns = true},
                    new Artiodactyls {Type = "Олень", Name = "Иммануил", Weihgt = 150, NumberOfHorns = true},
                    new Birds {Type = "Орел", Name = "Боря", Weihgt = 2, Span = 100},
                    new Birds {Type = "Синица", Name = "Синька", Weihgt = 0.3, Span = 40},
                    new Birds {Type = "Ворон", Name = "Дрон", Weihgt = 2, Span = 50}
                };
        }
 
        public void PrintRandom()
        {
            Console.Write("Кол-во элементов списка: ");
            int count = Convert.ToInt32(Console.ReadLine());
 
            if (count >= animList.Count)
                count = animList.Count;
 
            for (int i = 0; i < count; i++)
            {
                int ind = r.Next(0, animList.Count - 1);
                Console.WriteLine(animList[ind]);
                animList.Remove(animList[ind]);
            }
        }
    }
}


p.s.: хотя я бы изначально не так делал бы. Попробовал сделать, исходя из вашего примера.
1
0 / 0 / 2
Регистрация: 16.10.2012
Сообщений: 91
09.10.2013, 18:21  [ТС]
Цитата Сообщение от Smems Посмотреть сообщение
izZy, WTF?

Кликните здесь для просмотра всего текста
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
82
using System;
using System.Collections.Generic;
 
namespace RandomFromList
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            MyCollection collection = new MyCollection();
            collection.Init();
            collection.PrintRandom();
 
            Console.ReadLine();
        }
    }
 
    abstract class Animals
    {
        public string Type { get; set; }
        public string Name { get; set; }
        public double Weihgt { get; set; }
 
        public override string ToString()
        {
            return Type + " " + Name + " " + Weihgt;
        }
    }
 
    class Mammals : Animals
    {
        public string Detachment { get; set; }
    }
 
    class Artiodactyls : Animals
    {
        public bool NumberOfHorns { get; set; }
    }
 
    class Birds : Animals
    {
        public int Span { get; set; }
    }
 
    class MyCollection
    {
        Random r = new Random();
        List<Animals> animList;
 
        public void Init()
        {
            animList = new List<Animals>
                {
                    new Mammals {Type = "Кошка", Name = "Муська", Weihgt = 3, Detachment = "Хищные"},
                    new Mammals {Type = "Дельфин", Name = "Лори", Weihgt = 80, Detachment = "Китообразные"},
                    new Mammals {Type = "Тушканчик", Name = "Туня", Weihgt = 0.1, Detachment = "Грызуны"},
                    new Artiodactyls {Type = "Лошадь", Name = "Стрела", Weihgt = 90, NumberOfHorns = false},
                    new Artiodactyls {Type = "Корова", Name = "Ночка", Weihgt = 100, NumberOfHorns = true},
                    new Artiodactyls {Type = "Олень", Name = "Иммануил", Weihgt = 150, NumberOfHorns = true},
                    new Birds {Type = "Орел", Name = "Боря", Weihgt = 2, Span = 100},
                    new Birds {Type = "Синица", Name = "Синька", Weihgt = 0.3, Span = 40},
                    new Birds {Type = "Ворон", Name = "Дрон", Weihgt = 2, Span = 50}
                };
        }
 
        public void PrintRandom()
        {
            Console.Write("Кол-во элементов списка: ");
            int count = Convert.ToInt32(Console.ReadLine());
 
            if (count >= animList.Count)
                count = animList.Count;
 
            for (int i = 0; i < count; i++)
            {
                int ind = r.Next(0, animList.Count - 1);
                Console.WriteLine(animList[ind]);
                animList.Remove(animList[ind]);
            }
        }
    }
}


p.s.: хотя я бы изначально не так делал бы. Попробовал сделать, исходя из вашего примера.
Спасибо!
А если не так, тогда как? Если не секрет
0
0 / 0 / 2
Регистрация: 16.10.2012
Сообщений: 91
09.10.2013, 18:38  [ТС]
Smems,
Все работало, до того момента пока я не подправила под свою программу. Теперь выводит имя и тип последнего элемента из списка( в чем может быть дело?
Вложения
Тип файла: rar ConsoleApplication1.rar (44.0 Кб, 6 просмотров)
0
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
10.10.2013, 11:21
izZy, вы мне скажите, нафига вы в классе Animals переменные type, name и weight объявили как static? Заметьте, у вас выбирается не последний элемент списка, а нужный. Первые 3 значения одинаковые, а последние - различные. Почему? Читайте первое предложение.
1
0 / 0 / 2
Регистрация: 16.10.2012
Сообщений: 91
10.10.2013, 11:44  [ТС]
Цитата Сообщение от Smems Посмотреть сообщение
izZy, вы мне скажите, нафига вы в классе Animals переменные type, name и weight объявили как static? Заметьте, у вас выбирается не последний элемент списка, а нужный. Первые 3 значения одинаковые, а последние - различные. Почему? Читайте первое предложение.
Спасибо, исправила все работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.10.2013, 11:44
Помогаю со студенческими работами здесь

Вычислить количество элементов массива В, меньших 3,2 и вывести на печать
Образовать массив В состоящий из 12 вещественных чисел. Вычислить количество элементов массива В, меньших 3,2 и вывести на печать. ...

Вычислить количество положительных элементов массивов X и Z и вывести на печать
Вычислить количество положительных элементов массивов X и Z и вывести на печать.

Определить в массиве А(N) и вывести на печать количество элементов, имеющих значение не меньше 10
Определить в массиве А(N) и вывести на печать количество элементов, имеющих значение не меньше 10, и среднее арифметическое таких...

Для каждой из целочисленных матриц A(6,8) и B(5,7) вывести на печать количество элементов, кратных шести
Написать программу решения следующей задачи: Для каждой из целочисленных матриц A(6,8) и B(5,7) вывести на печать количество элементов,...

Вывести на печать номер и элементы строки, имеющей наибольшее количество элементов, попадающих в интервал
найти и вывести на печать номер и элементы строки, имеющей наибольшее количество элементов, попадающих в интервал


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru