Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Тема 4.8. Лабораторная работа ⇐ ПредыдущаяСтр 8 из 8 МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ КАФЕДРА ИНФОРМАТИКИ Лабораторные работы по дисциплине «информатика» Выполнил студент Группы БИН1202 Кумецкий Павел Юрьевич
Тема 4.8. Лабораторная работа «Программирование алгоритмов формирования и обработки двумерных массивов»
1.
2. В разработанном приложении ввод исходного массива может осуществляться одним из следующих способов: · вводом с клавиатуры; · с помощью датчика случайных чисел(M(i, j) = Rnd() * 100 – 50); · формированием по формуле(). 3.
Блок-схемы прикреплены отдельным листом Option Strict On Option Explicit On Imports System.Math Public Class Form1 'Кнопка “Заполнить массив M и выполнить задание” Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim h As Integer Dim n As Integer Dim k As Integer h = vvod(TextBox1) n = vvod(TextBox2) k = vvod(TextBox3) Dim M(0 To h - 1, 0 To n - 1) As Single zapolnenie(h, n, M) vivod_mas(h, n, M, ListBox1) perestanovka(h, n, M, k) vivod_mas(h, n, M, ListBox2) End Sub
Sub vivod_mas(ByVal h As Integer, ByVal n As Integer, ByVal M(,) As Single, ByRef L As ListBox) Dim i, j As Integer Dim z1 As String = "" Dim s1 As String = "" h = M.GetLength(0) - 1 n = M.GetLength(1) - 1 L.Items.Add(z1) For i = 0 To h z1 = "" For j = 0 To n If M(i, j) < 0 Then s1 = Space(3) Else s1 = Space(4) z1 = z1 + Format(M(i, j), "0.000") + s1 Next j L.Items.Add(z1) Next i z1 = "" End Sub
Public Sub zapolnenie(ByVal h As Integer, ByVal n As Integer, ByVal M(,) As Single) Dim r1 As String = "" Dim r2 As String = "" Dim y1 As String = "" Dim r As Single Dim i, j As Integer Select Case ComboBox1.SelectedIndex Case 0 For i = 0 To h - 1 For j = 0 To n - 1 r1 = Str(i): r2 = Str(j) y1 = InputBox("Эл-т массива a" + r1 + "," + r2 + ",Ввод эначений эл-тов массива M()") M(i, j) = CSng(y1) Next j Next i Case 1 MessageBox.Show("числа генерируются на отрезке [-50;49] или [-149;-50] каждый раз по новому") For i = 0 To h - 1 For j = 0 To n - 1 M(i, j) = Rnd() * 100 - 50 Next j Next Case 2 For i = 0 To h - 1 For j = 0 To n - 1 r = 2 * Rnd() M(i, j) = -30 + 60 * r Next j Next i End Select End Sub
Sub perestanovka(ByVal h As Integer, ByVal n As Integer, ByRef M(,) As Single, ByVal K As Integer) If K < 0 Or K > n Then Do While K <= 0 Or K > n MessageBox.Show("Вы ввели столец, который не входит в состав вашего массива") K = CInt(InputBox("Введите k, удовлетвор. условию задачи")) Loop End If ReDim Preserve M(0 To (h - 1), 0 To n) For j = n To K Step -1 For i = 0 To h - 1 M(i, j) = M(i, j - 1) 'элементу строки i присваиваем элемент этой же строки, 'но из предыдущего столбца Next i Next j For i = 0 To h - 1 M(i, K) = 1 Next i End Sub
'Кнопка “Выход” Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Application.Exit() End Sub
'Функция ввода данных (кол-ва строк и столбцов) из TextBox Function vvod(ByVal T As TextBox) As Integer Return CInt(T.Text) End Function
'Кнопка “Повторить’’ Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click ListBox1.Items.Clear() ListBox2.Items.Clear() TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" End Sub
End Class
|