Среда, 2025-01-22

Professor VB - примеры на VB.net и C#
Меню сайта
Вход на сайт
Категории раздела
Уроки VB.net [25]
VB.net и математика [13]
Random VB [4]
VB.net - разное [7]
VB.net - Примеры программ [2]
Главная » Статьи » VB.net » Уроки VB.net

VB.net - Параллельное перемешивание массивов

VB.net - Параллельное перемешивание

массивов (mixx2)



  Кроме перемешивания одномерного массива, бывает необходимость перемешать двумерный, или параллельно 2 одномерных массива.

  Для этого воспользуемся следующим кодом.


  'перемешивание 2 массивов
    Public Sub mixx2(mas As Array, mas2 As Array)
        Dim element1, element2, x, y, element12, element22, x2, y2
        Randomize()
        For i = 0 To 10000
        x = Int(Rnd() * mas.Length)
  'Определили знач случ массива с номером х
        y = Int(Rnd() * mas.Length)  'Определили случ элемент массива с номером y
        x2 = x
        y2 = y

        element1 = mas(x)           'Запомнили значение случайного X-элем массива
        element2 = mas(y)           'Запомнили значение случайного Y-элем массива
         mas(y) = element1           'Присвоили случ X элем знач y элем
         mas(x) = element2           'Присвоили случ Y элем значение x элемента

         element12 = mas2(x2)           'Запомнили значение случ X-элеммассива
         element22 = mas2(y2)           'Запомнили значение случ Y-элем массива
         mas2(y2) = element12           'Присвоили случ X элем значение Y элемента
         mas2(x2) = element22           'Присвоили случ Y элем значение X элемента

        Next
 
   End Sub


* знач случ = значение случайного

 

  В данном случае случайные элементы динаковы для обоих массивов.
Если элемент первого массива поменял свое место с 1 на 3, то элемент второго массива сделал также.

  Процедура имеет зависимость от 2 массивов, которые надо перемешать.

Где это может пригодится?

  Я расскажу о том, где я использовал эту процедуру:

- Словарь. В первый массив помещаем слова на РУССКОМ языке, а во второй - иностранные слова. В результате перемешивания - оригинал и перевод имеют одинаковый индекс.

- Сравнение картинок. В игре меморина необходимо было сравнить картинки, но не ссылки ни сами картинки, простым способом не сравнить. По этому я дал каждой паре картинок свой уникальный номер, который и поместил во второй массив. В первом массиве были ссылки на картинки. После перемешивания я сравнивал уникальные идентификаторы, не трогая сами картинки.

 

 

В начало

Перемешивание массива

Тренировка мозга 1

 

 



 

Категория: Уроки VB.net | Добавил: ProfessorVB (2016-07-01)
Просмотров: 1273 | Теги: параллельное перемешивание, перемешивание массива, Vb.net, массив | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
Облако тегов
Поиск
Друзья сайта
  • www.youtube.com

  • vk.com/professorvb

  • Партнерка AIR

  • Партнерка VSP Group
  • Поделись с друзьям
    Теги
    Видео Switch массивы уравнения геометрия continue forEach while Обработка событий задать цвет C# math Vb.net xml количество элементов xml поиск значений математика видеоуроки Soft системы Google pirat Proxy tor НОД нок добавление записи в xml поиск Уроки генератор hello world время деструкторы конструкторы дроби калькулятор десятичные дроби решебник сокращение дробей си шарп мнемоника тренажер random количество дней между датами professorvb дата Урок mindgames алгебра многомерные слова словарь Пароль cos SIN база timer рандом Цикл Break DO for RGB условия массив элементов xml редактирование xml создание вирус MenuStrip AntiCenz fri-gate запрещенные сайты база данных Open RichTextBox XML удалить из xml save TopMost анекдот создать XML Классы Тест OpenFileDialog английский развитие иностранные слова DateTimePicker календарь массив перемешивание массива Анаграммы Рифмоплет Сравнение дробей Меморина скорочтение Использование ребусы комплексные числа программа генератор имен
    Copyright ProfessorVB © 2025