Матрицы в visual basic

3 мая 2019 - Администратор

Двумерные массивы матрицы в visual basic vb.net

На этом уроке мы научимся объявлять и задавать двумерные массивы в visual basic. Матрицы широко используются в математических, экономических расчетах, графических программах и программировании игр
Двумерная матрица  это прямоугольная таблица данных, чтобы обратиться к элементу матрицы, нужно указать первый индекс это номер строки и второй индекс это номер столбца.  Для работы с матрицами в vb.net необходимо ее определить по образцу
Dim  имя матрицы (количество строк, количество столбцов) As  тип массива
Например 
Dim matr(2,2) As Integer 
Объявляет массив с именем matr размером 3 на 3 все элементы которого целого типа. Нумерация строк и столбцов в двумерных матрицах vb.net  начинается с нуля. Чтобы обратиться к элементу массива, необходимо указать его имя  номер строки и номер столбца Например, чтобы обратиться к элементу матрицы с имением  matr в первой  строке и первом столбце необходимо указать
matr(0,0)

Заполнение двумерных массивов матриц в vb

Существует несколько способов задать матрицу в visual basic net.
Задание с помощью текстовых полей с формы. Применим для матриц небольших размеров
Задание случайным образом. Применим для игр и отработки учебных алгоритмов поиска и обработки матриц
Задание с клавиатуры с помощью элемента InputBox 
Заполнение матрицы при объявлении массива
Заполнение матрицы из файла
Разберем все способы задания матрицы в vb net
  Задание матрицы с помощью текстовых полей формы 
Напишем программу, в которой задаётся матрица с помощью текстовых полей, при нажатии кнопки сумма, рассчитывается значение суммы всех элементов, значение записывается в  элемент метка label. Зададим массив размером 2 на 2 с помощью текстовых полей Для этого на форме разместим  4 элемента TextBox, разместим кнопку Button и Label.  

заполнение матрицы из формы
Перейдем в функцию обработки нажатия кнопки двойным щелчком по элементу кнопка.
Чтобы  присвоить элементу матрицы значение текстового поля, нужно использовать свойство  элемента TextBox.Text 
        matr(0, 0) = TextBox1.Text
        matr(0, 1) = TextBox2.Text
        matr(1, 0) = TextBox3.Text
        matr(1, 1) = TextBox4.Text

Полный пример программы заполнение матрицы в vb из формы
Public Class Form1
    Dim matr(1, 1) As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As     System.EventArgs) Handles Button1.Click
        matr(0, 0) = TextBox1.Text
        matr(0, 1) = TextBox2.Text
        matr(1, 0) = TextBox3.Text
        matr(1, 1) = TextBox4.Text
        Label1.Text = matr(0, 0) + matr(0, 1) + matr(1, 0) + matr(1, 1)
    End Sub
End Class

Заполнение матрицы в vb  случайными числами
Чтобы заполнить матрицу случайными числами, необходимо использовать объект случайных чисел и его метод Next
Напишем программу для заполнения матрицы случайными числами и выведем матрицу в форму с помощью элемента списка  ListBox Для того чтоб работать с матрицами, необходимо использовать вложенные циклы For, внешний цикл For проходит по всем строкам матрицы, внутренний цикл проходит по всем элементам строки. Вывод в Listbox осуществляется всей строки при этом элементы матрицы в списке отделяются с помощью  & vbTab &


Пример полной программы заполнения матрицы в vb
Public Class Form1
    Dim matr(3, 3) As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i, j As Integer
        Dim random As New Random() 'задаем объект случайных чисел
        For i = 0 To 3
            For j = 0 To 3
                matr(i, j) = random.Next(1, 1000)
            Next
        ListBox1.Items.Add(matr(i, 0) & vbTab & matr(i, 1) & vbTab & matr(i, 2) & vbTab & matr(i, 3))
        Next
    End Sub
End Class

Заполнение матрицы в vb с помощью клавиатуры с помощью элемента InputBox
Значение элементов матрицы можно задать с помощью диалогового окна Inputbox. Чтобы вызвать диалоговое окно и присвоить значение веденое с его помощью, необходимо использовать конструкцию
Перменная=InputBox(“Сообщение”, “название окна”)
matr (i,j)=InputBox("Введите (" + Str(i + 1) + ",”+ Str(j + 1) + ”) элемент матрицы","Заполнение матрицы")
Str(I+1) преобразует номер i+1 в текстовое выражение

Полная программа заполнения матрицы в vb с помощью диалогового окна InputBox
Public Class Form1
    Dim matr(4, 3) As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i, j As Integer
        For i = 0 To 3
            For j = 0 To 3
                matr(i, j) = InputBox("Введите (" + Str(i + 1) + "," + Str(j + 1) + " элемент массива:", "Ввод элементов массива с клавиатуры")
            Next
            ListBox1.Items.Add(matr(i, 0) & vbTab & matr(i, 1) & vbTab & matr(i, 2) & vbTab & matr(i, 3))
        Next
    End Sub
End Class
 

Заполнение матрицы в Vb при ее объявлении.
Матрицу в visual basic можно ввести прямо при ее объявлении. Для этого необходимо при объявлении матрицы не указывать ее размер, в фигурных скобках ввести элементы строк через запятую
Dim имя матрицы (,)={{элементы первой строки},{элементы второй строки}…}

Пример программы ввода матрицы в vb при ее объявлении
Public Class Form1
    Dim matr(,) As Integer = {{1, 2, 3, 4}, {2, 2, 3, 4}, {5, 6, 7, 8}, {2, 2, 4, 4}}
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i, j As Integer
        For i = 0 To 3
            ListBox1.Items.Add(matr(i, 0) & vbTab & matr(i, 1) & vbTab & matr(i, 2) & vbTab & matr(i, 3))
        Next
    End Sub
End Class

Заполнение матрицы в Vb из файла

Считывание двумерного массива из файла. Напишем программу, которая считывает из файла два столбца чисел и записывает их в двумерный массив. Массив выводится в ListBox.

загрузка матрицы из файла
Для того чтобы работать с файлами в vb необходимо в начале программы указать

Imports System
Imports System.IO

Весь файл можно построчно записать в массив строк с помощью команды
Dim имя массива() As String = IO.File.ReadAllLines("путь к файлу", System.Text.Encoding.Default)
Чтобы обработать все строки файла нужно в цикле For указать до размера массива-1. Размер массива определяется командой 
Имя массива.Length
Чтобы из строки получить оба числовых значения нужно использовать метод  Строка.Split(“символ разделения”) Этот метод разбивает строку на массив из элементов разделенных символом разделения. Например, если у нас есть строка
Stroka=“1 2”

команда
Words=Stroka.Split(“ ”)
Заполнит массив элементами строки, разделенными пробелами
words ={“1”,”2”}

Пример программы на Vb считывание двумерного массива из файла
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i As Integer
        Dim a(10, 2) As Integer
        Dim words() As String
        Dim Massiv() As String = IO.File.ReadAllLines("C:UsersuserDesktop ext.txt", System.Text.Encoding.Default)
        For i = 0 To Massiv.Length - 1
            words = Massiv(i).Split(" ")
            a(i, 0) = Val(words(0))
            a(i, 1) = Val(words(1))
            ListBox1.Items.Add(a(i, 0) & vbTab & a(i, 1))
        Next i
    End Sub
End Class


Вернуться к содержанию  Перейти к теме Работа с консолью

Полезно почитать по теме массивы и матрицы в vb
Массивы в Vb
Игра крестики нолики на vb

Поделиться:

 
Комментарии (0)

Нет комментариев. Ваш будет первым!