Понедельник, 2025-06-16

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)
Просмотров: 1304 | Теги: параллельное перемешивание, перемешивание массива, Vb.net, массив | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
Облако тегов
Поиск
Друзья сайта
  • www.youtube.com

  • vk.com/professorvb

  • Партнерка AIR

  • Партнерка VSP Group
  • Поделись с друзьям
    Теги
    урок C# си шарп видео hello world MenuStrip Генератор имен Switch дроби решебник Алгебра системы уравнения геометрия Vb.net генератор уроки математика программа условия Math массив элементов видеоуроки добавление записи в xml анекдот поиск создать XML удалить из xml калькулятор НОД нок время дата Деструкторы конструкторы тест сокращение дробей десятичные дроби тренажер английский развитие мнемоника иностранные слова random рандом professorvb OpenFileDialog Timer mindgames цикл словарь база пароль слова cos sin комплексные числа вирус массив классы массивы многомерные Break Continue do for forEach While Обработка событий rgb задать цвет XML база данных xml количество элементов xml поиск значений xml редактирование xml создание soft AntiCenz fri-gate google pirat proxy tor запрещенные сайты Open save RichTextBox TopMost DateTimePicker календарь количество дней между датами перемешивание массива Анаграммы Меморина Ребусы Рифмоплет скорочтение Сравнение дробей использование
    Copyright ProfessorVB © 2025