Введение 8 Этапы создания Windowsприложения 8
Скачать 6.98 Mb.
|
Приложение 36Дан целочисленный массив. Количество элементов и их значения вводятся с клавиатуры. Упорядочить элементы массива по возрастанию методом линейной сортировки (методом поиска минимума). Массив до и после преобразования вывести в окно списка. Dim a() As Integer Dim n, i As Integer Dim start As Integer Dim imin, min As Integer Dim z As Integer lstA.Items.Clear() Do n = Val(InputBox("Введите количество элементов")) Loop Until n > 0 n -= 1 ReDim a(n) For i = 0 To n a(i) = Val(InputBox("Введите " + Str(i) + _ "-й элемент массива")) Next lstA.Items.Add("Исходный массив") lstA.Items.Add("Номер" + vbTab + "Значение") For i = 0 To n lstA.Items.Add(Str(i) + vbTab + Str(a(i))) Next For start = 0 To n - 1 min = a(start) imin = start For i = start + 1 To n If a(i) < min Then min = a(i) imin = i End If Next a(imin) = a(start) a(start) = min Next lstA.Items.Add("-------------------------------") lstA.Items.Add("Массив после сортировки") For i = 0 To n lstA.Items.Add(Str(i) + vbTab + Str(a(i))) Next Приложение 37Дана прямоугольная целочисленная матрица. Размеры матрицы и значения ее элементов вводятся с клавиатуры. Вывести матрицу в окно списка и в текстовое поле. Dim a(,) As Integer Dim m, n As Integer Dim i, j As Integer Dim s As String Do m = Val(InputBox("Введите количество строк")) Loop Until m > 0 Do n = Val(InputBox("Введите количество столбцов")) Loop Until n > 0 m -= 1 n -= 1 ReDim a(m, n) For i = 0 To m For j = 0 To n a(i, j) = Val(InputBox("Введите элемент (" + _ Str(i) + "," + Str(j) + ")")) Next Next lstMatrix.Items.Clear() lstMatrix.Items.Add("Матрица") For i = 0 To m s = "" For j = 0 To n s += Str(a(i, j)) + vbTab Next lstMatrix.Items.Add(s) Next s = "Матрица" + vbNewLine For i = 0 To m For j = 0 To n s += Str(a(i, j)) + vbTab Next s += vbNewLine Next txtMatrix.Text = s Приложение 38Дана прямоугольная целочисленная матрица. Размеры матрицы и значения ее элементов вводятся с клавиатуры. Найти максимальный элемент в матрице и его индексы. Исходную матрицу и полученные результаты вывести в окно списка. Dim a(,) As Integer Dim m, n As Integer Dim i, j As Integer Dim max, imax, jmax As Integer Dim s As String Do m = Val(InputBox("Введите количество строк")) Loop Until m > 0 Do n = Val(InputBox("Введите количество столбцов")) Loop Until n > 0 m -= 1 n -= 1 ReDim a(m, n) For i = 0 To m For j = 0 To n a(i, j) = Val(InputBox("Введите элемент (" + _ Str(i) + "," + Str(j) + ")")) Next Next lstMatrix.Items.Clear() lstMatrix.Items.Add("Матрица") For i = 0 To m s = "" For j = 0 To n s += Str(a(i, j)) + vbTab Next lstMatrix.Items.Add(s) Next max = a(0, 0) imax = 0 jmax = 0 For i = 0 To m For j = 0 To n If a(i, j) > max Then max = a(i, j) imax = i jmax = j End If Next Next lstMatrix.Items.Add("---------------------------------") lstMatrix.Items.Add("Максимум:" + Str(max)) lstMatrix.Items.Add("Строка:" + Str(imax)) lstMatrix.Items.Add("Столбец:" + Str(jmax)) Приложение 39Дана прямоугольная целочисленная матрица. Размеры матрицы и значения ее элементов вводятся с клавиатуры. В каждой строке матрицы найти среднее арифметическое четных чисел. Если в какой-нибудь строке нельзя вычислить среднее арифметическое, то вывести поясняющее сообщение. Исходную матрицу и полученные результаты вывести в окно списка. Dim a(,) As Integer Dim m, n As Integer Dim i, j As Integer Dim s As String Dim sum, kol As Integer Dim sred As Single Do m = Val(InputBox("Введите количество строк")) Loop Until m > 0 Do n = Val(InputBox("Введите количество столбцов")) Loop Until n > 0 m -= 1 n -= 1 ReDim a(m, n) For i = 0 To m For j = 0 To n a(i, j) = Val(InputBox("Введите элемент (" + _ Str(i) + "," + Str(j) + ")")) Next Next lstMatrix.Items.Clear() lstMatrix.Items.Add("Матрица") For i = 0 To m s = "" For j = 0 To n s += Str(a(i, j)) + vbTab Next lstMatrix.Items.Add(s) Next lstMatrix.Items.Add("---------------------------------") lstMatrix.Items.Add("Строка" + vbTab + "Сред. арифм.") For i = 0 To m sum = 0 kol = 0 For j = 0 To n If a(i, j) Mod 2 = 0 Then sum += a(i, j) kol += 1 End If Next If kol = 0 Then lstMatrix.Items.Add(Str(i) + vbTab + _ "В строке нет четных") Else sred = sum / kol lstMatrix.Items.Add(Str(i) + vbTab + Str(sred)) End If Next |