Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Пример 4.8.2-5. Написать процедуру, которая определяет минимальный элемент, лежащий выше главной диагонали матрицы.




Алгоритм и программный код процедуры представлен на рис. 4.8.2-5.

 

Sub Pr825(ByRef x(,) As Single, _ ByRef xmin As Single, _ ByRef imin As Integer, ByRef jmin As Integer) Dim i, j, m As Integer m = x.GetLength(0) – 1 imin = 0: jmin = 1: xmin = x(0,1) For i = 0 To m For j = i + 1 To m If x(i,j) < xmin Then xmin = x(i,j): imin = i jmin = j End If Next j Next i End Sub

Рис. 4.8.2-5. Программный код процедуры Pr825()

Примера 4.8.2-5

Пример 4.8.2-6. Написать процедуру, которая заполняет элементы массива f(5,2) целыми числами, а затем переставляет элементы первого и последнего столбцов.

     
     
     
     
     
     

Алгоритм и код программы приведены на
рис. 4.8.2-6.

     
     
     
     
     
     

Данный пример демонстрирует заполнение массива целых чисел f(,) и перестановку элементов первого и последнего столбцов. Исходные данные для инициализации массива f(,) записываются в фигурных скобках при описании массива. Вложенные циклы обеспечивают перебор элемен­тов двумерного массива по столбцам: внутренний цикл по пер­вому индексу, а внешний по второму. Перестановка элементов первого и последнего столбцов в программе вы­полняется в цикле, изменяющем номер строки i, в котором выполняется обмен значениями элементов f(i,0) и f(i,2).

После этого мас­сив выводится на экран в следующем виде:

 

 

Sub Pr826() Dim i, j, r, c1, c2 As Integer Dim f(,) As Integer={{1,2,3}, {4,5,6}, {7,8,9}, {10,11,12}, _ {13,14,15},{16,17,18}} c1 = 0: c2 = 2 'номера столбцов vivodIntMac20(f, TextBox1)'Вывод мас. Pr826(f, c1, c2) 'Перест.1-го и 2-го столбцов vivodIntMac20(f, TextBox2) 'Вывод преобразованно массива End Sub 'Процедура перестановки столбцов Sub ПерСтол(ByRef f(,) As Integer, ByVal cc1 As Integer, _ ByVal cc2 As Integer) Dim ArrayRank, RawCount, i, r As Integer ArrayRank = f.Rank: RawCount = f.GetLength(ArrayRank - 2) For i = 0 To RawCount - 1 r = f(i,cc1): f(i,сс1) = f(i,cc2): f(i,cc2) = r Next i End Sub

Рис. 4.8.2-6. Программный код процедуры Pr826() Примера 4.8.2-6

Пример 4.8.2-7. Написать процедуру, которая формирует двумерный массив x по правилу: x(i,j) = 2*(i - 2) 2 - (j - 2)2).

Алгоритм и процедура данной задачи приведены на рис. 4.8.2-7.

 

'Формирование двумерного массива x(,) Sub Pr827(ByRef x(,) As Single) Dim i, j, m As Integer m = x.GetLength(0) - 1 For i = 0 To m For j = 0 To m x(i, j) = CSng(2 * (i - 2) ^ 2 - (j - 2) ^ 2) Next Next End Sub

 

Рис. 4.8.2-7. Программный код процедуры Pr827()

Примера 4.8.2-7

 

Пример 4.8.2-4.8. Написать процедуру, которая формирует одномерный массив, каждый элемент которого представляет собой количество положительных элементов соответствующего столбца массива b(,).

 

Sub Pr828(ByRef b(,) As Single, _ ByRef a() As Integer) Dim Rank,RC,CC,j,i,n As Integer Rank = b.Rank RC = b.GetLength(Rank - 2) - 1 CC = b.GetLength(Rank - 1) - 1 ReDim a(CC) Dim m As String For j = 0 To CC n = 0 For i = 0 TO RC If b(i,j) > 0 Then n = n + 1 Next i a(j)= n Next j End Sub

Рис. 4.8.2-8. Программный код процедуры Pr828()

Примера 4.8.2-8

Предполагается, что выделение памяти и ввод массива b(,) осуществляются в процедуре, которая вызывает процедуру Pr828().

Алгоритм и код программы представлены на рис. 4.8.2-5.

Для перебора всех элементов исходной таблицы b(,) также использованы вложенные циклы, в данном случае во внешнем цикле меняется но­мер столбца, а во внутреннем – номер строки. Такой порядок перебора элементов двумерного массива диктуется условиями задачи. В каждом столбце про­изводится подсчет положительных элементов, и по окончании цикла ре­зультат записывается в соответствующий элемент одномерного массива а(), номер которого совпадает с номером столбца матрицы b(,).





Поделиться с друзьями:


Дата добавления: 2016-11-24; Мы поможем в написании ваших работ!; просмотров: 347 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Если президенты не могут делать этого со своими женами, они делают это со своими странами © Иосиф Бродский
==> читать все изречения...

2464 - | 2329 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.