Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Generisanje matrice uz pomoc Excel macro-a!

[es] :: Office :: Excel :: Generisanje matrice uz pomoc Excel macro-a!

[ Pregleda: 4595 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

c0de
Aleksej Slobodnjikov
Pc Serviser
Moskow

Član broj: 190673
Poruke: 66
*.bratunac.zona.ba.



Profil

icon Generisanje matrice uz pomoc Excel macro-a!01.03.2009. u 23:33 - pre 184 meseci
Potrebno je prvo dimenzionisamt i,j,n kao broj... "n" cu da unosim a "i" i "j" ce da idu od 1 do "n".

Izgled matrice mora da bude ovakav.Na primer n=4 onda je matrica 4x4



Brojevi u celijama koje cine matricu se izvace slucajno pomocu RND(od 1 do 1000) i moraju da budu u ovakvom redosledu.



113 410 433 920
313 142 439 834
381 110 503 730
599 50 601 698

Sta primjecujete? (113,313,381,599) su neparni brojevi i idu od manje broja ka vecem.Kod (410,142,110,50) su svi parni i idu od viseg broja ka manjem.Znaci sljedeca kolona treba da bude sa neparnim brojevi pa sljedeca sa parnim.


Jel moze neko da mi pomogne oko ovog zadatka.Unaprijed zahvalan!
AS
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
*.bisinter.net.

Sajt: www.gowi.rs


+109 Profil

icon Re: Generisanje matrice uz pomoc Excel macro-a!02.03.2009. u 08:26 - pre 184 meseci
Za prvu pomoć.

Generisanje parnog broja mozes obaviti tako što generišeš slučajan broj k u opsegu 1..500 i onda pomnožiš sa 2.
Neparan broj možeš generisati tako što generiše slučajan broj k u opsegu 0..499 i onda dobiješ kao 2k+1.
Slučajan broj u opsegu lowerBound..upperBound dobiješ pomoću rnd funkcije

rndValue = CInt(Int((upperbound - lowerbound + 1) * Rnd() + lowerbound)) + 1

Posto generišeš niz za kolonu potrebno ga je soritirati. Kod za sortiranje niza mozes naci ovde:
http://www.xtremevbtalk.com/showthread.php?t=78889
Alternativa je da koristiš i excelov ugradjeni sort.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1319

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: Generisanje matrice uz pomoc Excel macro-a!02.03.2009. u 10:38 - pre 184 meseci
Mala ispravka:
Citat:
Jpeca: Generisanje parnog broja mozes obaviti tako što generišeš slučajan broj k u opsegu 1..500 i onda pomnožiš sa 2.
Neparan broj možeš generisati tako što generiše slučajan broj k u opsegu 0..499 i onda dobiješ kao 2k+1.
Slučajan broj u opsegu lowerBound..upperBound dobiješ pomoću rnd funkcije


Neparan broj ne dobijaš generisanjem slučajnog iz neparnih granica, nego: isto kao i parni, pa mu onda oduzmeš 1. :)

Potrebno je "samo" implementirati pokretnu granicu za opseg generisanja. To znači i da će petlja morati da ima korak.
Najbolje je da korak bude veći od 1 i da sam sebe množi sa -1. Naravno, ovo treba raditi sa "invertovanjem" vrednosti za početnu i krajnju vrednost opsega iz kog se generišu slučajni brojevi.
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

c0de
Aleksej Slobodnjikov
Pc Serviser
Moskow

Član broj: 190673
Poruke: 66
*.bratunac.zona.ba.



Profil

icon Re: Generisanje matrice uz pomoc Excel macro-a!02.03.2009. u 11:14 - pre 184 meseci
Ama za parne i neparne brojeve mi nije problem,to znam.Ja radim na ovaj nacin.



Code:
If i / 2 = i \ 2 Then
    'Ako je ispunjen uslov onda je paran
Else
    'Neparan broj
End If


E sad ovo treba da se ubaci u FOR pa ako ne izvuce broj koji ja hocu da ponovi izvlacenje.Takodje mi je bitno da se brojevi Povecavaju dok nedodje do n.Kad su parni ide od veceg ka manjem a neparni od manjeg ka vecem broju.


AS
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
*.bisinter.net.

Sajt: www.gowi.rs


+109 Profil

icon Re: Generisanje matrice uz pomoc Excel macro-a!02.03.2009. u 14:24 - pre 184 meseci
Imaš dve petlje. Jednu po kolonama i drugu (unutrašnju) po redovima. Nakon što generišeš jednu kolonu sortiraš je. Efikasnije rešenje bilo bi da se umesto sortiranja koristi generisanje slučajnih brojeva većih (odnosno manjih) od prethodno generisanog u toj koloni, kao što predlaže 3okc, ali ne znam uslove zadatka - ukoliko je generisan slučajni broj na granici (npr 999 u neparnoj koloni) onda će i svi naredne vrednosti u toj koloni biti iste?!

U primeru matrica se upisuje na aktivnom listu od celije A1.

Code:

Sub GenMatrica()
' Generise matricu nxn za zadato n
' pod sledecim uslovima
' neparne kolone sadrze slucajno generisane neparne brojeve 1-999 u rastucem redosledu
' parne kolone sadrze slucajno generisane parne brojeve 2-1000 u opadajucem redosledu
Dim n As Integer, rw As Integer, cl As Integer
Dim rndValue As Integer
Dim sh As Worksheet

upperbound = 500
Set sh = ActiveSheet
n = InputBox("Unesi dimenziju matrice n:")

Randomize
Application.ScreenUpdating = False  ' ukida se osvezavanje ekrana

For cl = 1 To n
   ' Generisanje kolone
    For rw = 1 To n
        rndValue = Int(upperbound * Rnd + 1)
        sh.Cells(rw, cl).Value = 2 * rndValue - cl Mod 2
    Next rw
    'Sortiranje kolone
    If cl Mod 2 = 1 Then  ' neparna kolona
        sh.Range(sh.Cells(1, cl), sh.Cells(n, cl)).Sort _
           Key1:=sh.Cells(1, cl), Order1:=xlAscending, Header:=xlNo
    Else      ' parna kolona
        sh.Range(sh.Cells(1, cl), sh.Cells(n, cl)).Sort _
           Key1:=sh.Cells(1, cl), Order1:=xlDescending, Header:=xlNo
    End If
Next cl

Application.ScreenUpdating = True
End Sub


P.S.
Citat:
Neparan broj ne dobijaš generisanjem slučajnog iz neparnih granica, nego: isto kao i parni, pa mu onda oduzmeš 1. :)

Potpuno tačno, izgleda da sa godinama klikeri počinju da otkazuju :)


[Ovu poruku je menjao Jpeca dana 02.03.2009. u 16:08 GMT+1]
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

[es] :: Office :: Excel :: Generisanje matrice uz pomoc Excel macro-a!

[ Pregleda: 4595 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.