private sub Command1_click()
Dim m(5,5) as Integer 'объявляем массив 5*5
dim a as string, q as byte, w as byte
Randomize timer
For q=0 to 4
For w=0 to 4
m(q,w)=rnd*1000 'заполняем массив случайными чисслами
next w
next q
For q=0 to 4
m(q,3)=m(q,1)+m(q,2) 'складываем 1-ю и вторую строки в 3-ю.
next q
For q=0 to 4
For w=0 to 4
a=a & str$(m(q,w)) & ", " ' складываем результаты в строку a
next w
a=a & vbcrlf
next q
msgbox a' выводим a
end sub
Dim m(5,5) as Integer 'объявляем массив 5*5
Dim arr(1 To 5, 1 To 5) as Integer
Konst_One писал(а):
- Код: Выделить всё
Dim m(5,5) as Integer 'объявляем массив 5*5
Это массив 6x6, так как по-молчанию , если не выставлен option base, бейсик начинает считать с 0.
Т.е. надо явно указывать начальный элемент:
- Код: Выделить всё
Dim arr(1 To 5, 1 To 5) as Integer
Вот это будет 5x5
'Так:
m(0,0)=4 'т.е. программно присваивать жёсткие чиса
'Или так:
m(0,0)=val(inputbox("Введи чило:"))
dim s as string
for i=0 to 4
s=""
for j=0 to 4
'здесь выводи куда тебе надо
'debug.print m(i,j)
if len(s)>0 then
s=s & " " & m(i,j)
else
s=m(i,j)
end if
next
Form1.Text1.SelText=s & vbcrlf
next
Option Explicit
Dim m(4, 4) As Integer
'
Private Sub Form_Load()
Dim i As Byte
Dim j As Byte
Dim s As String
m(0, 0) = 1
m(0, 1) = 0
m(0, 2) = 0
m(0, 3) = 0
m(0, 4) = 0
m(1, 0) = 0
m(1, 1) = 1
m(1, 2) = 0
m(1, 3) = 0
m(1, 4) = 0
m(2, 0) = 0
m(2, 1) = 0
m(2, 2) = 0
m(2, 3) = 0
m(2, 4) = 0
m(3, 0) = 0
m(3, 1) = 0
m(3, 2) = 0
m(3, 3) = 0
m(3, 4) = 0
m(4, 0) = 0
m(4, 1) = 0
m(4, 2) = 0
m(4, 3) = 0
m(4, 4) = 0
Me.AutoRedraw = True
For i = 0 To 4
s = ""
For j = 0 To 4
If Len(s) > 0 Then
s = s & " " & m(i, j)
Else
s = m(i, j)
End If
Next
Print s
Next
Me.AutoRedraw = False
End Sub
LKostyan писал(а):Уважаемые!!! Хотелось бы ещё узнать (допустим масив небольшой 3Х3) как забивать элементы в ручную? И как с листа эксэля считывать (если там таблица чисел)?
Благодарен за помощь в освоение VB!!!
Private Sub Form_Load()
AutoRedraw = True
Dim i%, j%
On Error GoTo Error1
Set MsExcel = CreateObject("Excel.Application")
MsExcel.Workbooks.Add "D:\1.xls"
For i = 1 To 5
For j = 1 To 5
arr(i, j) = MsExcel.Sheets(1).Cells(i, j)
Next
Next
MsExcel.ActiveWorkbook.Close
If MsExcel.Workbooks.Count = 0 Then MsExcel.Quit
Set MsExcel = Nothing
For i = 1 To 5
For j = 1 To 5
Print arr(i, j),
Next
Print
Next
Exit Sub
Error1:
MsgBox Err.Description, vbCritical
MsExcel.Quit
Set MsExcel = Nothing
End Sub
LKostyan писал(а):блин что тут не правильно Я идиот! Убейте меня, кто-нибудь!Я идиот! Убейте меня, кто-нибудь!
LKostyan писал(а): блин что тут не правильно Я идиот! Убейте меня, кто-нибудь!Я идиот! Убейте меня, кто-нибудь!
LKostyan писал(а):Ну вот допустим забил в ручную а как теперь вывести это через форму через кнопку???
Sub my()
Dim bMas(1 To 3, 1 To 3) As Byte
Dim i As Byte, j As Byte
Dim strMas As String
'i-е строки
'j-е столбцы
For i = 1 To 3
For j = 1 To 3
bMas(i, j) = Val(InputBox("Введите элемент массива " & i & "," & j))
Next
Next
For i = 1 To 3
For j = 1 To 3
strMas = strMas & " " & bMas(i, j)
Next
strMas = strMas & Chr(13)
Next
MsgBox strMas
End Sub
Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 161