Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 07.01.2013
Сообщений: 57
1

Прокрутка PictureBox для задания "матричные операции"

24.02.2013, 15:44. Показов 1126. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста дописать программу тема "матричные операции" первую часть сделала,но на PictureBox прокрутка не работает и со вторым заданием уже запуталась
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Private Sub Command1_Click()
Dim A(1 To 100, 1 To 100) As Double
Dim i, j As Double
n = Val(Text1.Text)
For i = 1 To n
For j = 1 To n
A(i, j) = ((2 * i + 3 * j) ^ 2) / ((i + j + 5) ^ (1 / 3))
Picture1.Print Format(A(i, j), "#0.##"),
Next j
Picture1.Print '
Next i
End Sub
 
Private Sub Command2_Click()
Dim A(1 To 100, 1 To 100) As Double
Dim i, j As Double
n = Val(Text1.Text)
For i = 1 To n
For j = 1 To n
A(i, j) = ((2 * i + 3 * j) ^ 2) / ((i + j + 5) ^ (1 / 3))
If Max < Sqr(A(i, j)) Then
Max = Sqr(A(i, j))
X(j) = Sqr(A(i, j)) / j
End If
Next j
End Sub
 
Private Sub HScroll1_Change()
Picture1.Top = -HScroll1.Value
End Sub
 
Private Sub Picture1_Click()
VScroll1.Value = Val(Picture1)
HScroll1.Value = Val(Picture1)
End Sub
 
Private Sub VScroll1_Change()
Picture1.Top = -VScroll1.Value
End Sub
Миниатюры
Прокрутка PictureBox для задания "матричные операции"  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2013, 15:44
Ответы с готовыми решениями:

Матричные операции в VB
Помогите, пожалуйста, создать программу в vb для решения этого примера

Матричные операции
Выполнил расчет токов для заданной схемы методом МУП,вроде все правильно,но почему то...

Матричные операции
Ребята очень нужна помощь =( .Наш препод на больничном, а новый заставляет работать в...

Матричные операции
В Паскале написать процедуру. Вычислить Z = (АТ+А)*АТ*Х, где Z – результат операции (матрица) T -...

12
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
24.02.2013, 16:19 2
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Option Explicit
Dim A(1 To 100, 1 To 100) As Double
Dim i As Integer, j As Integer, n As Integer
Dim Max As Double, X(1 To 100) As Double
 
Private Sub Command1_Click()
Picture1.Cls
n = Val(Text1.Text)
    For i = 1 To n
         For j = 1 To n
               A(i, j) = ((2 * i + 3 * j) ^ 2) / ((i + j + 5) ^ (1 / 3))
               Picture1.Print Format(A(i, j), "#0.##"),
         Next j
         Picture1.Print '
    Next i
End Sub
 
Private Sub Command2_Click()
            Command1_Click
        For i = 1 To n
              Max = Sqr(A(i, 1))
              For j = 1 To n
                  If Max < Sqr(A(i, j)) Then Max = Sqr(A(i, j))
              Next j
              X(i) = Max '?????????
              Picture1.Print Format(X(i), "#0.##")
        Next i
End Sub
 ' дальше вообще непонятная затея
Private Sub Form_Load()
    HScroll1.Max = Val(Picture1.Height)
    VScroll1.Max = Val(Picture1.Width)
    Picture1.AutoRedraw = True
End Sub
 
Private Sub HScroll1_Scroll()
    Picture1.Left = -HScroll1.Value
End Sub
 
Private Sub VScroll1_Scroll()
    Picture1.Top = -VScroll1.Value
End Sub
1
0 / 0 / 1
Регистрация: 07.01.2013
Сообщений: 57
27.02.2013, 17:02  [ТС] 3
Скролы не работают,точнее они саму пикче бокс перемещают,а мне нужно чтоб содержимое пикче бокс перемещалось
0
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
27.02.2013, 17:32 4
Цитата Сообщение от popcorn93 Посмотреть сообщение
нужно чтоб содержимое пикче бокс перемещалось
Ничего не выйдет с етой затеи.

Если только поместить один пикчер во внутрь другого.
0
0 / 0 / 1
Регистрация: 07.01.2013
Сообщений: 57
27.02.2013, 17:38  [ТС] 5
и где с максимумом тоже не работает почему то,где вопросы стоят,там я разделила на j так по заданию нужно и не работает она

Добавлено через 1 минуту
должно получится преподаватель сказала ,что обязательно нужно прокрутку сделать,вот например если я n задам значение 100 а окно пикче меньше и вся матрица не видна будет,поэтому скрол нужен.
0
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
27.02.2013, 18:10 6
Прокрутку сделал, таскать за ползунки.

Там где вопросы стоят, там мне и не понятно было. А максимум работает,(максимум корня там из чего-то)
Вложения
Тип файла: rar Скролы.rar (1.6 Кб, 12 просмотров)
1
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
27.02.2013, 18:13 7
100х100 всё равно не поместится
0
Модератор
9724 / 3685 / 871
Регистрация: 22.02.2013
Сообщений: 5,530
Записей в блоге: 78
27.02.2013, 18:28 8
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Dim N As Long
Dim A(1 To 100, 1 To 100) As Double
Dim X(1 To 100)
Dim i As Long, j As Long
Dim Str1 As String, Str2 As String
 
Private Sub cmd1_Click()
    Dim B As String
    B = Space$(8)
    N = Int(txtN.Text)
    Str1 = vbNullString
    For i = 1 To N
        For j = 1 To N
            A(i, j) = ((2 * i + 3 * j) ^ 2) / ((i + j + 5) ^ (1 / 3))
            LSet B = Format(A(i, j), "#0.00")
            Str1 = Str1 & B & " "
        Next
    Str1 = Str1 & vbNewLine
    Next
    Redraw
End Sub
Private Sub cmd2_Click()
    Dim Max As Double, T As Double, Tj As Long
    N = Int(txtN.Text)
    Str2 = vbNullString
    For i = 1 To N
        Max = Sqr(A(i, 1)): Tj = 1
        For j = 2 To N
            T = Sqr(A(i, j))
            If T > Max Then Max = T: Tj = j
        Next
        X(i) = Max / Tj
        Str2 = Str2 & "X(" & i & ") = " & X(i) & vbNewLine
    Next
    Redraw
End Sub
Private Sub Redraw()
    Dim WT As Long, HT As Long, R As String, F As Long, T As Long
    R = "A = {" & vbNewLine & Str1 & "}" & vbNewLine & Str2
    WT = picOut.TextWidth(R)
    HT = picOut.TextHeight(R)
    If WT > picOut.ScaleWidth Then hsbScroll.Max = WT - picOut.ScaleWidth: hsbScroll.Visible = True _
                                                                    Else hsbScroll.Visible = False
    If HT > picOut.ScaleHeight Then vsbScroll.Max = HT - picOut.ScaleHeight: vsbScroll.Visible = True _
                                                                    Else vsbScroll.Visible = False
    picOut.Cls
    picOut.CurrentY = -vsbScroll.Value
    F = 1: T = InStr(R, vbNewLine)
    Do
        picOut.CurrentX = -hsbScroll.Value
        picOut.Print Mid$(R, F, T - F)
        F = T + 2
        T = InStr(F, R, vbNewLine)
    Loop While T > 0
    picOut.Refresh
End Sub
Private Sub vsbScroll_Change()
    Redraw
End Sub
Private Sub vsbScroll_Scroll()
    Redraw
End Sub
Private Sub hsbScroll_Change()
    Redraw
End Sub
Private Sub hsbScroll_Scroll()
    Redraw
End Sub
Вложения
Тип файла: rar Tolik.rar (1.8 Кб, 11 просмотров)
1
SoftIce
27.02.2013, 18:42
  #9

Не по теме:

The trick, где Вы раньше были?:)

0
Модератор
9724 / 3685 / 871
Регистрация: 22.02.2013
Сообщений: 5,530
Записей в блоге: 78
27.02.2013, 18:44 10
Цитата Сообщение от SoftIce Посмотреть сообщение
The trick, где Вы раньше были?

Не по теме:

На работе:)

0
0 / 0 / 1
Регистрация: 07.01.2013
Сообщений: 57
27.02.2013, 18:56  [ТС] 11
the trick, ээх, все отлично,но слишком сложно мне нужно будет все словесно описать каждую функцию,а тут функции которые мы еще не проходили(

Добавлено через 6 минут
ну вот где вопросики там на j делим,ну вот я написала так а она не работает
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Option Explicit
Dim A(1 To 100, 1 To 100) As Double
Dim i As Integer, j As Integer, n As Integer
Dim Max As Double, X(1 To 100) As Double
 
Private Sub Command1_Click()
Picture1.Cls
n = Val(Text1.Text)
For i = 1 To n
For j = 1 To n
A(i, j) = ((2 * i + 3 * j) ^ 2) / ((i + j + 5) ^ (1 / 3))
Picture1.Print Format(A(i, j), "#0.##"),
Next j
Picture1.Print '
Next i
End Sub
 
Private Sub Command2_Click()
            Command1_Click
For i = 1 To n
Max = Sqr(A(i, 1))
For j = 1 To n
If Max < Sqr(A(i, j)) Then Max = Sqr(A(i, j))
Next j
X(j) = Max / j
Picture1.Print Format(X(i), "#0.##")
Next i
End Sub
0
Модератор
9724 / 3685 / 871
Регистрация: 22.02.2013
Сообщений: 5,530
Записей в блоге: 78
27.02.2013, 19:17 12
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Command2_Click()
            Command1_Click
Dim tJ as Double
For i = 1 To n
Max = Sqr(A(i, 1)):Tj=1
For j = 2 To n
If Max < Sqr(A(i, j)) Then Max = Sqr(A(i, j)):Tj=j
Next j
X(j) = Max / Tj
Picture1.Print Format(X(i), "#0.##")
Next i
End Sub
На сколько я понял там надо делить на j (индекс) максимального элемента
1
0 / 0 / 1
Регистрация: 07.01.2013
Сообщений: 57
28.02.2013, 12:48  [ТС] 13
спасибо большое,вы мне очень помогли=) и скроллы тоже работают)
0
28.02.2013, 12:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2013, 12:48
Помогаю со студенческими работами здесь

Матричные операции
Помогите, если не трудно!! :-[ В лабораторной работе необходимо реализовать процедуру и функцию:...

Матричные операции
Помогите с заданием ребята! Разработать программу решения четырех взаимосвязанных задач частой...

матричные операции
Помогите,пожалуйста, дана матрица ,нужно вычислить сумму X1*X3+X3*X5+X5*X7.. где X1- сумма...

Матричные операции
Помогите пожалуйста написать программу к третьему заданию. Утром сдавать отчёт, а я вообще ничего...

Векторные и матричные операции
1. Розробити процедури чи функції, що реалізують наступні операції: a) добуток вектора і скаляра;...

Векторные и матричные операции
Подскажите как все это записать Пожалуйста подскажите или выдайте как решать это? Записал...

Матричные операции...НЕ МОГУ РАЗОБРАТЬСЯ.
Матричные операции


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru