Матрицы в visual basic
Двумерные массивы матрицы в 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
Поделиться:
Нет комментариев. Ваш будет первым!