offline
- Max
- Super građanin
- Marko Milic
- MWEB - Project manager & Front-end developer /Saobracajni inzenjer
- Pridružio: 02 Nov 2003
- Poruke: 1363
- Gde živiš: Beograd - Jagodina
|
Pozdrav....
Eto mene ali imam jedan problem. Treba da uradim jedan program u VB ali sam zardjao sto se tice programiranja. Need your help.
Zadatak je sledeci:napisati podprogramsku proceduru koja za date prirodne brojeve m i n i realnu matricu A(m,n) izracunava B(m,n) takvu da je b(i,j) jednak najmanjem elementu matrice A iz pravougaonikaodredjenog prvom i i-tom vrstom, j-tom i poslednjom kolonom matrice A.
Pokusavam da a resim, ali me nesto boli glava a treba do veceras ili sutra ujutru da resim problem,ako neko ima neku ideju pomoc bi mi dobro dosla. Bitan mi je algoritam a ne sintaksa...
Dopuna: 30 Sep 2006 14:29
Uspeo sam da resim problem ali me zeza nesto oko kompajliranja. Salje mi poruku type mismech. Evo kod:
Modul
Option Base 1
Option Explicit
Public Sub pravougaonik(ByVal m As Byte, ByVal n As Byte, ByRef A() As Single, ByRef B() As Single)
Dim i, j, k, l As Byte
Dim min As Single
min = 10000
For i = 1 To m
For j = 1 To n
For k = j To n
If A(1, k) < min Then min = A(1, k)
If A(i, k) < min Then min = A(i, k)
Next k
For l = 1 To i
If A(l, j) < min Then min = A(l, j)
If A(l, n) < min Then min = A(l, n)
Next l
B(i, j) = min
Next j
Next i
End Sub
Evo procedure:
Private Sub Start_Click()
Dim i, j, m, n As Byte
Dim linija As String
Dim A(), B() As Single
Open "ulaz.txt" For Input As #1
Line Input #1, linija
Line Input #1, linija
Line Input #1, linija
m = Val(Trim(Mid(linija, 1, 3)))
n = Val(Trim(Mid(linija, 4, 3)))
Close #1
If m > 0 And m <= 9 And n > 0 And n <= 9 Then
ReDim A(m, n), B(m, n)
For i = 1 To m
For j = 1 To n
If i Mod 2 <> 0 And j Mod 2 <> 0 Then
A(i, j) = i + (0.1) * j
Else
A(i, j) = (-1) * (i + (0.1) * j)
End If
Next j
Next i
pravougaonik m, n, A, B
Open "izlaz.txt" For Output As #2
Print #2, Tab(6); "Matrica A:"
Print #2,
For i = 1 To n
For j = 1 To n
Print #2, Tab(5 * j); A(i, j);
Next j
Print #2,
Next i
Print #2,
Print #2, Tab(6); "Matrica B:"
Print #2,
For i = 1 To n
For j = 1 To n
Print #2, Tab(5 * j); B(i, j);
Next j
Print #2,
Next i
Close #2
Else
MsgBox "Pogresno uneti podaci", , "Greska"
End If
End Sub
Prilikom compile javlja pomenutu gresku i markira matricu a u pozivu procedure. Kao sto ste primetili radi se o VB6.
[mod by bobby] stavio sam program pod tagove
|