29
Visual Basic Visual Basic . . Двумерные массивы. Двумерные массивы. Глезденев В.И., Удальцова А.И. – учителя информатики СОШ №3 г. Сосновый Бор

Visual Basic . Двумерные массивы

  • Upload
    keira

  • View
    73

  • Download
    2

Embed Size (px)

DESCRIPTION

Visual Basic . Двумерные массивы. Глезденев В.И., Удальцова А.И. – учителя информатики СОШ №3 г. Сосновый Бор. Размерность массива – ( количество строк х количество столбцов ). N x N. Элемент двумерного массива. Элемент массива A 3- й строки 2-го столбца. A(3,2). - PowerPoint PPT Presentation

Citation preview

Page 1: Visual Basic . Двумерные массивы

Visual BasicVisual Basic. . Двумерные массивы.Двумерные массивы.

Глезденев В.И., Удальцова А.И. – учителя информатики СОШ №3 г. Сосновый Бор

Page 2: Visual Basic . Двумерные массивы

A(1,1)A(1,1) A(1,2)A(1,2) A(1,3)A(1,3) …… A(1,N)A(1,N)

A(2,1)A(2,1) A(2,2)A(2,2) A(2,3)A(2,3) …… A(2,N)A(2,N)

A(3,1)A(3,1) A(3,2)A(3,2) A(3,3)A(3,3) …… A(3,N)A(3,N)

…… …… …… …… ……

A(N,1)A(N,1) A(N,2)A(N,2) A(N,1)A(N,1) …… A(A(NN,,NN))

Размерность массива – Размерность массива – ((количество строк х количество строк х количество столбцовколичество столбцов)) N x NN x N

Page 3: Visual Basic . Двумерные массивы

Элемент двумерного массива.Элемент двумерного массива.A(1,1)A(1,1) A(1,2)A(1,2) A(1,3)A(1,3) …… A(1,N)A(1,N)

A(2,1)A(2,1) A(2,2)A(2,2) A(2,3)A(2,3) …… A(2,N)A(2,N)

A(3,1)A(3,1) A(3,2)A(3,2) A(3,3)A(3,3) …… A(3,N)A(3,N)

…… …… …… …… ……

A(N,1)A(N,1) A(N,2)A(N,2) A(N,1)A(N,1) …… A(A(NN,,NN))

A(3,2) Элемент массива Элемент массива A A 3-3-й строки 2-го столбцай строки 2-го столбца

Page 4: Visual Basic . Двумерные массивы

Заполнение двумерного Заполнение двумерного массивамассива 10x12 10x12..

Dim A(10,12)Dim A(10,12) - определение массива 10х12- определение массива 10х12

For i=1 to For i=1 to 1010 - цикл по строкам

For k=1 to For k=1 to 1122 - цикл по столбцам

A(i, k)=Fix(rnd*90+10) A(i, k)=Fix(rnd*90+10) – – случайное целое случайное целое из отрезка из отрезка[[10, 10010, 100] ]

Next kNext k

Next iNext i

Page 5: Visual Basic . Двумерные массивы

Вывод на форму Вывод на форму двумерного двумерного массива.массива.For i=1 to For i=1 to 1010

For k=1 to For k=1 to 1122

Pset (k*400, i*200),RGB(200,200,200)Pset (k*400, i*200),RGB(200,200,200)

Print A(i, k)Print A(i, k)

Next kNext k

Next iNext i

Page 6: Visual Basic . Двумерные массивы

Строки двумерного массива.Строки двумерного массива.

A(A(11,1),1) A(A(11,2),2) A(A(11,3),3) …… A(A(11,N),N)

Первая строка:Первая строка:

A(A(33,1),1) A(A(33,2),2) A(A(33,3),3) …… A(A(33,N),N)

Третья строка:Третья строка:

Page 7: Visual Basic . Двумерные массивы

Задача:Задача: Выделение строки Выделение строки (столбца).(столбца). массив 10х10массив 10х10

‘‘исключение случайного вводаисключение случайного ввода DoDon1 = InputBox("введите номер строки", "запрос строки")n1 = InputBox("введите номер строки", "запрос строки")Loop UntilLoop Until ( (nn1 < 11) 1 < 11) AndAnd ( (nn1 >1 >=1=1))n1 = Fix(Val(n1))n1 = Fix(Val(n1))

Page 8: Visual Basic . Двумерные массивы

Сумма 5-й строки:Сумма 5-й строки:

S5=0S5=0

For k=1 to For k=1 to 1122

S5=S5+A(S5=S5+A(55,k),k)

Next kNext k

Page 9: Visual Basic . Двумерные массивы

Максимальный элемент Максимальный элемент 7-й строки.7-й строки.

m7=A(m7=A(77,1): n7=1,1): n7=1

For k=2 to For k=2 to 1122

If a(If a(77,k) > m7 Then,k) > m7 Then

m7=A(m7=A(77,k): n7=k,k): n7=k

End IfEnd If

Next kNext k

Page 10: Visual Basic . Двумерные массивы

Замена строк:Замена строк: 4 4 88A(A(44,1),1) A(A(44,2),2) A(A(44,3),3) …… A(A(44,,1212))

A(A(88,1),1) A(A(88,2),2) A(A(88,3),3) …… A(A(88,,1212))

For k=For k=11 to to 1122

sp=A(sp=A(44,k): A(,k): A(44,k)=A(,k)=A(88,k): ,k): A(A(88,k)=sp,k)=sp

Next kNext k

Page 11: Visual Basic . Двумерные массивы

Задача:Задача: Замена строк (столбцов).Замена строк (столбцов).

Page 12: Visual Basic . Двумерные массивы

Столбцы двумерного массива.Столбцы двумерного массива.

Первый Первый столбец:столбец:

Третий Третий столбец:столбец:

A(1,A(1,11))

A(2,A(2,11))

A(3,A(3,11))

……

A(N,A(N,11))

A(1,A(1,33))

A(2,A(2,33))

A(3,A(3,33))

……

A(N,A(N,33))

Page 13: Visual Basic . Двумерные массивы

Сумма Сумма 44-го столбца:-го столбца:

SS44=0=0

For i=1 to For i=1 to 1100

S4=S4+A(i,S4=S4+A(i,44))

Next iNext i

Page 14: Visual Basic . Двумерные массивы

Минимальный 6-го столбца.Минимальный 6-го столбца.

m6=A(1,m6=A(1,66): n6=1): n6=1

For i=2 to For i=2 to 1100

If A(i,If A(i,66) < m6 Then) < m6 Then

m6=A(i,m6=A(i,66): n6=i): n6=i

End IfEnd If

Next iNext i

Page 15: Visual Basic . Двумерные массивы

Первый Первый столбец:столбец:

Третий Третий столбец:столбец:

A(1,A(1,22))

A(2,A(2,22))

A(3,A(3,22))

……

A(A(1010,,22))

A(1,A(1,55))

A(2,A(2,55))

A(3,A(3,55))

……

A(A(1010,,55))

Замена столбцов:Замена столбцов: 22 55

Page 16: Visual Basic . Двумерные массивы

Замена столбцов:Замена столбцов: 22 55

For i=For i=11 to to 1100

sp=A(i,2)sp=A(i,2)

A(i,2)=A(i,5)A(i,2)=A(i,5)

A(i,5)=spA(i,5)=sp

Next iNext i

Page 17: Visual Basic . Двумерные массивы

Диагональные элементы Диагональные элементы двумерного массивадвумерного массива NxN NxN..

A(1,1)A(1,1) A(1,2)A(1,2) A(1,3)A(1,3) …… A(1,N)A(1,N)

A(2,1)A(2,1) A(2,2)A(2,2) A(2,3)A(2,3) …… A(2,N)A(2,N)

A(3,1)A(3,1) A(3,2)A(3,2) A(3,3)A(3,3) …… A(3,N)A(3,N)

…… …… …… …… ……

A(N,1)A(N,1) A(N,2)A(N,2) A(N,1)A(N,1) …… A(N,N)A(N,N)

Главная (первая) диагональ)Главная (первая) диагональ)

Page 18: Visual Basic . Двумерные массивы

Диагональные элементы Диагональные элементы двумерного массивадвумерного массива NxN NxN..

A(1,1)A(1,1) A(1,2)A(1,2) A(1,3)A(1,3) …… A(1,N)A(1,N)

A(2,1)A(2,1) A(2,2)A(2,2) A(2,3)A(2,3) …… A(2,N)A(2,N)

A(3,1)A(3,1) A(3,2)A(3,2) A(3,3)A(3,3) …… A(3,N)A(3,N)

…… …… …… …… ……

A(N,1)A(N,1) A(N,2)A(N,2) A(N,1)A(N,1) …… A(N,N)A(N,N)

Вторая диагональ:Вторая диагональ:

Page 19: Visual Basic . Двумерные массивы

Сумма диагональных Сумма диагональных элементовэлементов массива массива NxNNxN..

SS11=0: S2=0=0: S2=0

For i=1 to NFor i=1 to N

S1=S1+A(i,i)S1=S1+A(i,i)

S2=S2+A(N-i+1,i)S2=S2+A(N-i+1,i)

Next iNext i

Page 20: Visual Basic . Двумерные массивы

11-я схема замены диагональных -я схема замены диагональных элементовэлементов массива массива NxNNxN..

A(1,1)A(1,1) A(1,2)A(1,2) A(1,3)A(1,3) …… A(1,N)A(1,N)

A(2,1)A(2,1) A(2,2)A(2,2) A(2,3)A(2,3) …… A(2,N)A(2,N)

A(3,1)A(3,1) A(3,2)A(3,2) A(3,3)A(3,3) …… A(3,N)A(3,N)

…… …… …… …… ……

A(N,1)A(N,1) A(N,2)A(N,2) A(N,1)A(N,1) …… A(N,N)A(N,N)

Page 21: Visual Basic . Двумерные массивы

11-я схема замены диагональных -я схема замены диагональных элементовэлементов массива массива NxNNxN..

For i=1 to NFor i=1 to N

sp=A(i,i)sp=A(i,i)

A(i,i)=A(N-i+1,i)A(i,i)=A(N-i+1,i)

A(N-i+1,i)=spA(N-i+1,i)=sp

Next iNext i

Page 22: Visual Basic . Двумерные массивы

2-я схема замены диагональных 2-я схема замены диагональных элементовэлементов массива массива NxNNxN..

Самостоятельно!!Самостоятельно!!

Page 23: Visual Basic . Двумерные массивы

Задача:Задача: определить и выделить определить и выделить в двумерном массиве в двумерном массиве минимальные элементы строк.минимальные элементы строк.

Page 24: Visual Basic . Двумерные массивы

Задача:Задача: Определить и выделить в Определить и выделить в двумерном массиве минимальные двумерном массиве минимальные элементы строк. Записать значения и элементы строк. Записать значения и положение в другой массив.положение в другой массив.

Page 25: Visual Basic . Двумерные массивы

For i = 1 To 10For i = 1 To 10m = a(i, 1): n = 1m = a(i, 1): n = 1For k = 1 To 10For k = 1 To 10If a(i, k) < m ThenIf a(i, k) < m Thenm = a(i, k): n = km = a(i, k): n = kEnd IfEnd IfNext kNext kForeColor = RGB(255, 0, 0)ForeColor = RGB(255, 0, 0)PSet (n * 400, i * 200), RGB(200, 200, 200)PSet (n * 400, i * 200), RGB(200, 200, 200)Print a(i, n)Print a(i, n)ForeColor = RGB(0, 0, 0)ForeColor = RGB(0, 0, 0)b(i, 1) = a(i, n): b(i, 2) = i: b(i, 3) = nb(i, 1) = a(i, n): b(i, 2) = i: b(i, 3) = nNext iNext i

Page 26: Visual Basic . Двумерные массивы

Max

Задача:Задача: Определить и выделить в Определить и выделить в двумерном массиве минимальные двумерном массиве минимальные элементы строк. Записать значения и элементы строк. Записать значения и положение в другой массив. положение в другой массив. Определить максимальный.Определить максимальный.

Page 27: Visual Basic . Двумерные массивы

For i = 1 To 10For i = 1 To 10For k = 1 To 3For k = 1 To 3PSet (k * 400 + 5000, i * 200)PSet (k * 400 + 5000, i * 200)Print b(i, k)Print b(i, k)Next kNext kNext iNext imb = b(1, 1):mb = b(1, 1):For i = 1 To 10For i = 1 To 10If b(i, 1) > mb ThenIf b(i, 1) > mb Thenmb = b(i, 1): ns1 = i: ns2 = b(i, 3)mb = b(i, 1): ns1 = i: ns2 = b(i, 3)End IfEnd IfNext iNext iPSet (5400, 2500), RGB(200, 200, 200)PSet (5400, 2500), RGB(200, 200, 200)Print mb; " "; ns1; " "; ns2Print mb; " "; ns1; " "; ns2

Page 28: Visual Basic . Двумерные массивы

Задача:Задача: Удаление строки со Удаление строки со сдвигом.сдвигом.

Page 29: Visual Basic . Двумерные массивы

If (n>=1) AND (n<10) then If (n>=1) AND (n<10) then For i = n To 9For i = n To 9For k = 1 To 10For k = 1 To 10a(i, k) = a(i + 1, k)a(i, k) = a(i + 1, k)Next kNext kNext iNext iEnd ifEnd if

For k = 1 To 10For k = 1 To 10a(10, k) = 0a(10, k) = 0Next kNext k