Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
3 / 3 / 1
Регистрация: 25.05.2011
Сообщений: 106

Есть ли возможность рандомно извлечь определенное количество точек из массива PointF

09.11.2012, 18:24. Показов 1119. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здрасте! Может подсказать есть ли возможность рэндумно извлечь определенное кол-во точек из массива PointF(массив уже заполнен) и как это сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.11.2012, 18:24
Ответы с готовыми решениями:

Определить, есть ли участки длины, содержащие определенное количество точек
ломаная задана точками (x,y) имеются n других точек определить есть ли участки длины <=l содержащие >=m точек

Есть ли возможность воспроизвести (или извлечь ) звук в 97 Офисе?
Неожиданно (ЗА РЮМКОЙ ЧАЯ) вспдыл вопрос. В 95 Ёкселе можно было создать звуковое приложение. 97 Офис его (у меня по крайней мере)не...

Объясните как извлечь определенное число из массива?
Доброго времени суток! Дан одномерный массив. Нужно найти первое число в массиве, которое является двузначным. Отсюда собственно вопрос...

6
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
09.11.2012, 19:18
Да, с помощью класса Random.

Добавлено через 10 минут
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
using System;
using System.Drawing;
 
class Program
{
    public static void Swap<T>(ref T a, ref T b)
    {
        T buf = a;
        a = b;
        b = buf;
    }
 
    public static void RandomShuffle<T>(T[] array)
    {
        if (array == null)
            throw new ArgumentNullException("array");
        Random random = new Random();
        for (int i = 0; i < array.Length; i++)
            Swap<T>(ref array[i], ref array[random.Next(0, array.Length)]);
    }
 
    public static T[] GetRandomElements<T>(T[] array, uint count)
    {
        if (count > array.Length)
            throw new ArgumentException("count must be greater than array.Length", "count");
        if (array.Length == count)
            return (T[])array.Clone();
        T[] clonedArray = (T[])array.Clone();
        RandomShuffle<T>(clonedArray);
        T[] result = new T[count];
        Array.Copy(clonedArray, result, count);
        return result;
    }
 
    static void Main(string[] args)
    {
        PointF[] array = new PointF[] {
            new PointF { X = 2.1f, Y = 3.2f },
            new PointF { X = 5.3f, Y = 5.2f },
            new PointF { X = 3.6f, Y = 2.4f },
            new PointF { X = 2.3f, Y = 2.6f }
        };
        var randomPoints = GetRandomElements<PointF>(array, 3u);
        foreach (var point in randomPoints)
            Console.WriteLine("X: {0} Y: {1}", point.X, point.Y);
        Console.ReadKey(true);
    }
}
1
3 / 3 / 1
Регистрация: 25.05.2011
Сообщений: 106
11.11.2012, 16:00  [ТС]
Цитата Сообщение от Петррр Посмотреть сообщение
C#
1
2
3
4
5
6
PointF[] array = new PointF[] {
    new PointF { X = 2.1f, Y = 3.2f },
    new PointF { X = 5.3f, Y = 5.2f },
    new PointF { X = 3.6f, Y = 2.4f },
    new PointF { X = 2.3f, Y = 2.6f }
  };
В этой части кода массив заполняется вручную, а если он у меня уже заполнен (из txtBox) как правильно к нему обраться?

Добавлено через 11 минут
А все сделал! Можешь объяснить что вэтом коде надо изменить что бы рэндумно искались 10 точек?
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
11.11.2012, 16:20
В 43 строке указывается что нужно взять 3 точки.
0
3 / 3 / 1
Регистрация: 25.05.2011
Сообщений: 106
11.11.2012, 16:23  [ТС]
Разобрался

Добавлено через 2 минуты
Цитата Сообщение от Петррр Посмотреть сообщение
В 43 строке указывается что нужно взять 3 точки.
Но он выбирает первые 3 точки которые в массиве, а не рэндумно.
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
11.11.2012, 16:26

Точно?
1
3 / 3 / 1
Регистрация: 25.05.2011
Сообщений: 106
11.11.2012, 16:33  [ТС]
Сорри, моя ошибка. Напортачил когда переделал консольный вывод в listBox. Уже исправил, но выводит только нули почемуто.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.11.2012, 16:33
Помогаю со студенческими работами здесь

Как рандомно выбрать комбинации из 4 точек массива?
Вечер добрый. Возникла проблема с генерацией случайных неповторяющихся индексов. у меня имеется массив типа Point, необходимо...

Запуск bat-файла определенное количество раз и определенное количество дней
1 есть .bat файл, который запускает некий скрипт. Требуется настроить его так, что бы запуск происходил определенное количество дней. Как...

составить функцию, которая для заданного массива точек XY вычисляет количество точек, принадлежащих кольцу
а плоскости задано кольцо с центром в точке(х0,у0), внутренний радиус-r1, внешний-r2. составить функцию, которая для заданного массива...

Рандомно вывести одну из форм через определенное время
Здравствуйте, пишу приложение, и мне необходимо, чтобы через 5 минут на экране выскакивала одна из 10 форм. Как можно сделать подобное?

Извлечение координат из массива PointF[]
Доброго времени суток! Такая вот задачка: я создал коллекцию для хранения точек public class PointsCollection : CollectionBase { ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru