Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Задача с массивами / 11 сообщений из 11, страница 1 из 1
30.01.2008, 18:59
    #35098682
asdfghj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача с массивами
Помогите плиз новичку.
-------------------------------------------------------------------------------
Дан двумерный массив размером n*m, заполненный случайными числами. Определить, если ли в данном массиве строка, в которой имеет два элемента массива, имеющие небольшие значения.
-------------------------------------------------------------------------------
ОЧень горю с лабораторной работой, послезавтра сдавать, и ссесия может пойти под хвост.
Заранее благодарен за помощь!
...
Рейтинг: 0 / 0
30.01.2008, 20:49
    #35098881
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача с массивами
Насколько небольшие значения?
...
Рейтинг: 0 / 0
30.01.2008, 21:42
    #35098972
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача с массивами
Мб наибольшие значения ?
...
Рейтинг: 0 / 0
31.01.2008, 01:28
    #35099102
SergeyL1907
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача с массивами
Пузырьковая сортировка тебе поможет, копай интернет по этой ключевой фразе - найдешь очень быстро...
...
Рейтинг: 0 / 0
31.01.2008, 06:42
    #35099183
asdfghj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача с массивами
жаль что никто не смог помочь мне с этим заданием
...
Рейтинг: 0 / 0
31.01.2008, 07:12
    #35099199
Restavraciya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача с массивами
asdfghjжаль что никто не смог помочь мне с этим заданиемПопробуй разобраться с этим. Валялось в мусоре :-)
...
Рейтинг: 0 / 0
31.01.2008, 14:38
    #35100745
Fatty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача с массивами
Забирай

Код: plaintext
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.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
Option Explicit
Public res() As Variant

Sub Main()

PopupRandomly  1000 ,  10 
MsgBox MapMaximum(res)
Dim q
On Error Resume Next
q = MapMatchByTwo(res, MapMaximum(res))
If Err Then
Err.Clear
End If
On Error GoTo  0 
If Not IsNull(q) Then
MsgBox "Equivalent two elements: " & q( 1 ) & " was found at row: " & q( 0 )
Else
MsgBox "No matches found"
End If

End Sub

Public Function Maximum(ar As Variant) As Variant

    Dim i As Integer, maxi As Variant
    maxi = Null
    For i =  0  To UBound(ar)
        If IsNull(maxi) Then
            maxi = ar(i)
        ElseIf Not IsNull(ar(i)) Then
            If maxi < ar(i) Then
                maxi = ar(i)
            End If
        End If
    Next i
    Maximum = maxi
    
End Function
' for debug only:
'Public Sub TestOnMaxValue(ar As Variant)
'
'Dim maxi As Variant
'maxi = Maximum(ar)
'Debug.Print "Maximal value is: " & maxi
'
'End Sub

Public Sub PopupRandomly(m As Long, n As Long)
Dim i As Long, j As Long
ReDim res( 0  To m,  0  To n)
Randomize
For i =  0  To m
For j =  0  To n
res(i, j) = Int(( 26  * Rnd) +  1 )
Next
Next
End Sub


Private Function MapMaximum(ByVal v As Variant) As Variant
If IsNull(UBound(v,  2 )) Then Exit Function
Dim a As Long, i As Long, j As Long
ReDim out( 0  To UBound(v,  1 )) As Variant
For i =  0  To UBound(v,  1 )
ReDim tmp(UBound(v,  2 )) As Variant
For j =  0  To UBound(v,  2 )
tmp(j) = v(i, j)
Next
out(a) = Maximum(tmp)
a = a +  1 
Next
MapMaximum = Maximum(out)

End Function
Private Function MatchByTwo(ar As Variant, match As Variant) As Boolean
Dim gotcha As Boolean
gotcha = False
Dim ret( 1 ) As Variant
Dim maxi
maxi = Maximum(ar)
If maxi <> match Then
MatchByTwo = False
Exit Function
End If
Dim i As Long, ct As Long
For i =  0  To UBound(ar)
If ar(i) = maxi Then
ct = ct +  1 
End If
Next
If ct =  2  Then MatchByTwo = True

End Function

Private Function MapMatchByTwo(ByVal v As Variant, match As Variant) As Variant
If IsNull(UBound(v,  2 )) Then Exit Function
Dim a As Long, i As Long, j As Long
ReDim out( 0  To UBound(v,  1 )) As Variant
For i =  0  To UBound(v,  1 )
ReDim tmp(UBound(v,  2 )) As Variant
For j =  0  To UBound(v,  2 )
tmp(j) = v(i, j)
Next
If MatchByTwo(tmp, match) Then
Dim ret( 1 )
ret( 0 ) = i: ret( 1 ) = match
MapMatchByTwo = ret
Exit For
Else: MapMatchByTwo = Null
End If
Next

End Function

~'J'~
...
Рейтинг: 0 / 0
31.01.2008, 16:33
    #35101363
asdfghj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача с массивами
Спасибо Fatty
выручил, огромнейшее спасибо тебе, все теперь я со спокойной душой смогу завтра сдать информатику
...
Рейтинг: 0 / 0
31.01.2008, 18:28
    #35101830
gjghjc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача с массивами
Эх... знать бы мыло твоего информатика, да скинуть ему туда ссылку на этот топик

С уважением, Николай.
...
Рейтинг: 0 / 0
31.01.2008, 18:52
    #35101886
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача с массивами
> Автор: gjghjc
> Эх... знать бы мыло твоего информатика, да скинуть ему туда ссылку на
> этот топик

Ну и чего переживаешь, товарищ явно специализируется не на програмировании.
Я когда учился на инженера литейного производства, никак не мог понять зачем
мне информатика, ничего нового, тем более, я там все равно не узнал :(

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
31.01.2008, 19:12
    #35101934
Fatty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача с массивами
asdfghjСпасибо Fatty
выручил, огромнейшее спасибо тебе, все теперь я со спокойной душой смогу завтра сдать информатику
Код: plaintext
Ни пуха

~'J'~
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Задача с массивами / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]