PCPROG.5

05 Jan 1995 - 02 Oct 1995

Topics

  1. algoritmi (106)
  2. comment (2)
  3. ms.dos (27)
  4. windows (332)
  5. asembler (203)
  6. basic (228)
  7. jezici (126)
  8. pascal (1085)
  9. cccc (546)
  10. cpp (117)
  11. clipper (1048)
  12. baze.podataka (194)
  13. fox (231)
  14. cavo (192)
  15. razno (593)

Messages - algoritmi

algoritmi.1 pedjak,
This file is part 2 of a set of Frequently Asked Questions for the groups comp.compression and comp.compression.research. If you did not get part 1 or 3, you can get them by ftp on rtfm.mit.edu in directory /pub/usenet/news.answers/compression-faq If you don't want to see this FAQ regularly, please add the subject line to your kill file. If you have corrections or suggestions for this FAQ, send them to Jean-loup Gailly <jloupčchorus.fr>. Thank you. Contents ======== Part 2: (Long) introductions to data compression techniques Š70Ć Introduction to data compression (long) Huffman and Related Compression Techniques Arithmetic Coding Substitutional Compressors The LZ78 family of compressors The LZ77 family of compressors Š71Ć Introduction to MPEG (long) What is MPEG? Does it have anything to do with JPEG? Then what's JBIG and MHEG? What has MPEG accomplished? So how does MPEG I work? What about the audio compression? So how much does it compress? What's phase II? When will all this be finished? How do I join MPEG? How do I get the documents, like the MPEG I draft? Š72Ć What is wavelet theory? Š73Ć What is the theoretical compression limit? Š74Ć Introduction to JBIG Š75Ć Introduction to JPEG Š76Ć What is Vector Quantization? Š77Ć Introduction to Fractal compression comprfq2.zip
algoritmi.2 ladislavs,
Zna li neko kako bi trebalo da izgleda algoritam za izračunavanje onog dela površine trougla koji se nalazi u proizvoljnom kvadrantu (recimo četvrtom) pravougaonog Dekartovog koordinatnog sistema. Trougao je zadat koordinatama svojih temena koja mogu biti u proizvoljnim kvadrantima. Navodno se radi integralima, al' sam ja nešto izašao iz forme. O:) ciLa.
algoritmi.3 maksa,
>> četvrtom) pravougaonog Dekartovog koordinatnog sistema. >> Trougao je zadat koordinatama svojih temena koja mogu biti u >> proizvoljnim kvadrantima. Uz rizik da se izblamiram, brute force rešenje: 1) Ispitaš koliko temena tog trougla leži u datom kvadrantu: 1.1 Nula temena => Rešiš svaku stranu trougla sa koordinatnim osama koje čine taj kvadrant; Koliko ima preseka ? 1.1.1 Nula preseka => taj trougao ne prolazi nikako kroz taj kvadrant. 1.1.2 Dva preseka => sračunaš P trougla koji se sastoji od ta dva preseka i koord. početka. P=P(O,P1,P2) 1.1.3 žetiri preseka => sračunaš P četvorougla koji čine te tačke. P=P(P1,P2,P3,P4) 1.2 Jedno teme => Rešiš strane (nađeš preseke) kojima pripada to teme sa koord. osama koje čine kvadrant. Da li strane seku istu koord. osu ? 1.2.1 Da => površina je površina trougla koji čine ta dva preseka i to teme. P=P(P1,P2,T1) 1.2.2 Ne => P je P četvorougla koji čine dato teme, nađeni preseci, i koord. početak. P=P(O,P1,P2,T1) 1.3 Dva temena => Nađeš preseke strana kojima pripadaju ta dva temana sa koord. osama. Da li strane seku istu koord. osu ? 1.3.1 Da => P je P četvorougla koji čine dobijeni preseci i ta dva temena. P=P(P1,P2,T1,T2) 1.3.2 Ne => P je P petougla koji čine ta dva preseka, dva temena trougla, i koord. početak. 1.4 Tri temena => P=P(T1,T2,T3) Kraj. Nout: Sve površine (trouglova, četvorouglova, i petougla) računaš kao: n P = K * ń (X(i-1) - X(i+1)) * Y(i)) ; ovo uABSiš i=1 n - broj temena K = .5 za trougao, 1 za četvorougao, 2 za petougao PS Ovde ubaci svoj omiljeni disclaimer. ;)
algoritmi.4 pedjak,
> Zna li neko kako bi trebalo da izgleda algoritam za izračunavanje > onog dela površine trougla koji se nalazi u proizvoljnom kvadrantu > (recimo četvrtom) pravougaonog Dekartovog koordinatnog sistema. > Trougao je zadat koordinatama svojih temena koja mogu biti u > proizvoljnim kvadrantima. Ovako: 1.1. Proveriš da se sva temena trougla nalaze u istom kvadrantu i to u kojem. Ukoliko je to kvadrant koji tražiš, nadješ površinu, ako nije onda je P = 0. 2.1. Ako nisu sva temena u istom kvadrantu, onda nađeš tačke preseka stranica sa koordinatnim osama. 2.2. Sada proveriš da li se deo površine trougla nalazi u kvadrantu koji te zanima. To postižeš tako što proveriš da li postoje dve tačke preseka sa koordinatnim osama: I kvadrant: dva puta seče pozitivni deo Y ose ili X ose ili svaku po jednom. II kvadrant: dva puta seče pozitivni deo Y ose ili negativni deo X ose ili svaku po jednom. III kvadrant: dva puta seče negativni deo Y ose ili negativni deo X ose ili svaku po jednom. IV kvadrant: dva puta seče negativni deo Y ose ili pozitivni deo X ose ili svaku po jednom. 2.3. Sada računaš površinu na sledeći način: uzimaš tačke preseka sa koordinatnim osama i temena koja se nalaze u tom kvadrantu i primeniš sledeću formuli: n P = │ ń X * (Y -Y ) - Y * (X - X ) │ i=1 i i+1 i i i+1 i
algoritmi.7 galimpic,
Ovo sam prvo pitao u PC.UTIL:grafika, ali mislim da je ovo primerenije mesto, pa prenosim: Treba mi savet kako da odredim zapreminu boce koja je isprojektovana na PC-u. Ukratko, napravio sam presek boce u Corel-u, dakle na raspolaganju je .AI format pa može da se importuje gde god treba. To je trebalo mojoj firmi kojoj treba nova boca za proizvod, i kada smo došli do zadovoljavajućeg oblika (ja sam je vrteo u 3DS-u a oni su bili radosni ;) koji ima zadatu max. visinu i širinu, treba sada to namestiti na određenu zapreminu. Potrebna su samo sitna podešavanja, jer sam zapreminu računao približno pomoću programčića u koji bih uneo 20-ak koordinata preseka. Sada mi treba precizno merenje. Pretpostavljam da CAD ima računanje površine, ali je to beskorisno za zapre- minu. Trebaju mi, dakle, funkcije Bezijerovih krivih od kojih je oblik sastavljen, ili neki drugi metod. Ima li ideja?
algoritmi.8 djelovic,
> Pretpostavljam da CAD ima računanje površine, ali je to beskorisno za > zapreminu. Ukoliko imaš funkciju poprečnog preseka i ukoliko je boca osno simetrična, onda se izračunavanje zapremine svodi na jednostavan integral. Prema tome, baci funkciju ovde u nekom "čitljivom" formatu (ne, ne AI :)), pa da odradimo posao.
algoritmi.9 maksa,
Odgovor na 7.183 PC.UTIL.3:grafika >> Treba mi savet kako da odredim zapreminu boce koja je >> isprojektovana na PC-u. Ukratko, napravio sam presek boce u >> Corel-u, dakle na raspolaganju je .AI >> ... >> Kao prvo, kako se na osnovu ona 2 vektora Bezijerove krive >> dobija funkcija krive? Parametarska jednačina Bezier-ove krive je: X(t) = Xa*(1-u)^3 + Xb*3*u*(1-u)^2 + Xc*(1-u)*u^2 + Xd*u^3 Y(t) = Ya*(1-u)^3 + Yb*3*u*(1-u)^2 + Yc*(1-u)*u^2 + Yd*u^3 gde parametar t ide od 0 do 1, a tačke su A(Xa,Ya), B(Xb,Yb), C(Xc,Yc), D(Xd,Yd). A i D su početna i završna tačka krive. Vektori koje pominješ su vektori AB i DC (sa priložene slike). >> Kao drugo, kako se uopšte dobija tačan pravac i intenzitet tih >> vektora, kad možeš samo da ih crtkaš po ekranu? Tu leži problem. Vrlo prosto, samo je zeznuto za objašnjavanje ako imaš na raspolaganju samo 80x25 text mod. :) Uz poruku je prikačen cdr fajl koji ilustruje tehniku 'digitalizovanja peške' Bezier-ove krive u Corel-u. Na zaključanom layer-u koji se zove 'bezier poligon' se nalaze ručno nacrtana ta dva vektora (duži kontrolnog poligona),a na layery 'bezier' odgovarajuća kriva. Postupak je: prebaci se na layer poligon, strelicom iz toolbar-a (druga, odmah ispod picktool-a) klikni na polaznu (A) tačku krive. Pojaviće se kontrolna duž (plava, isprekidana) a na statusnoj liniji će pisati nešto kao: First Node of an Open Curve (86.1, 237.0) Ovo ispod su tačne koordinate početne tačke. Zatim klikni i na kraj kontrolne duži (tačka B) na statusnoj liniji će biti nešto kao: Selected Node: Curve Cusp (16.9, 90.9) Ovo su tačne koordinate druge kontr. tačke (B). Isto to uradiš i za tačke C i D. Sada imaš 4 tačke koje čine Bezier-ov kontrolni poligon. Ovo je bio pešački pristup. Pogledao sam EPS fajl koji se dobije exportovanjem ove iste krive (samo ono na layer-u 'bezier', i u njemu postoji sekcija: []0 d 0 j 0 J 0.719 w 252.287 646.703 m 132.551 505.799 56.087 232.343 291.527 190.871 C S U U Ove brojke u sredini su definitivno temena (x y parovi) tog Bezier-ovog poligona, ali pomnožena nekim faktorom koji verovatno zavisi od tipografskih setovanja. U slovo-slaganje se ne razumem, pa ćeš ovo morati dalje sam da pročačkaš. Dalje moraš sam, a ako imaš pitanja il' bi prosto da diskutuješ o ovome, bači mail. :) bezier.zip
algoritmi.10 galimpic,
Hvala, care :) Već sam počeo da čupam kosu kako su krenuli odgovori tipa: "pošalji nam funkciju, a mi ćemo da ti izračunamo zapreminu". Isprobaću sutra kako ovo šljaka, i da znaš da ti u svakom slučaju dugujem piće. Ciao.
algoritmi.11 marshall,
HI ! Treba mi merge-sort algoritam. Trazio sam ga malo okolo, sakupio gotovo sve ostale (dobro ne sve, ali dosta), jos mi sa "spiska" fali ovaj, pa bih molio onoga ko zna kako radi da to ukratko napise i posalje source... Bojan
algoritmi.12 nbatocanin,
> Treba mi merge-sort algoritam. To ti je podvrsta od quick-sorta. Znači, podeliš niz na dva dela, sortiraš svaki deo posebno i na kraju ih spojiš u jedan niz tako što uzimaš redom elemente iz jedne pa iz druge polovine, u zavisnosti od toga koji je element veći.
algoritmi.13 mitcho,
> Treba mi merge-sort algoritam. Trazio sam ga malo okolo, > sakupio gotovo sve ostale (dobro ne sve, ali dosta), jos mi sa > "spiska" fali ovaj, pa bih molio onoga ko zna kako radi da to > ukratko napise i posalje source... Ima u knjizi "Algorithms in C" - Robert Sedgewick. Evo ti sors jednog primera koji sortira niz: mergesort(int a[], int l, int r) { int i, j, k, m; if(r > l) { m=(r+l)/2; mergesort(a,l,m); mergesort(a,m+1,r); for(i=m+1;i>l;i--) b[i-1]=a[i-1]; for(j=m;j<r;j++) b[r+m-j]=a[j+1]; for(k=l;k<=r;k++) a[k]=(b[i]<b[j])?b[i++]:b[j--]; } } Ima i još dve verzije: List Mergesort i Bottom-Up Mergesort. Oba rade sa listama struktura.
algoritmi.14 luks,
> X(t) = Xa*(1-u)^3 + Xb*3*u*(1-u)^2 + Xc*(1-u)*u^2 + Xd*u^3 > Y(t) = Ya*(1-u)^3 + Yb*3*u*(1-u)^2 + Yc*(1-u)*u^2 + Yd*u^3 > > gde parametar t ide od 0 do 1, a tačke su A(Xa,Ya), B(Xb,Yb), > C(Xc,Yc), D(Xd,Yd). A i D su početna i završna tačka krive. Napisao sam programčić u paskalu koji bi trebao na osnovu ove jednačine da nacrta Bezierovu krivu. Krivu nacrta, ali ne Bezierovu. Evo kako sam ovu jednačinu implementirao u paskalu, pa ako neko može da mi kaže gde je nastala greška... X:=Xa*((1-u)*(1-u)*(1-u))+Xb*3*u*Sqr(1-u)+Xc*(1-u)*Sqr(u)+Xd*Sqr(u)*u; Y:=Ya*((1-u)*(1-u)*(1-u))+Yb*3*u*Sqr(1-u)+Yc*(1-u)*Sqr(u)+Yd*Sqr(u)*u; parametar u ide od 0 do 1 Da nebi sada slao fajl sa slikom kako izgleda ta moja kriva evo opisa: kada sve 4 tačke (A, B, C, D) leže na istoj pravoj, koja je paralelna sa X osom, trebalo bi (koliko ja znam) da se dobije prava linije a ne talas kao kod mene. Pozdrav, luks
algoritmi.16 maksa,
>> X:=Xa*((1-u)*(1-u)*(1-u))+Xb*3*u*Sqr(1-u)+Xc*(1-u)*Sqr(u)+Xd*Sq >> Y:=Ya*((1-u)*(1-u)*(1-u))+Yb*3*u*Sqr(1-u)+Yc*(1-u)*Sqr(u)+Yd*Sq │ ovo pomnožiti sa 3──┘ Greška je do mene (kucanje), izgubio mi se jedan koeficijent u formuli. Da se ne bi ponovilo, evo je u (preglednijem) vektorskom obliku, pa ko pogreši u množenju, sam je kriv. :) Dakle: ┌ ┐ ┌ ┐ │ Xa │ Xp(t)= │ (1-t)^3 3t(1-t)^2 3(1-t)t^2 t^3 │ │ Xb │ └ ┘ │ Xc │ │ Xd │ └ ┘ Yp(t) = kao gore s tim što je drugi vektor sastavljen od Y koordinata. PS Sori ako ste ovo skidali dvaput.
algoritmi.17 dejanr,
Subject: NSA on text search/sort Date: Wed, 15 Feb 1995 18:53:23 -0500 (EST) From: cjl <cjl@welchlink.welch.jhu.edu> To: Cypherpunks mailing list <cypherpunks@toad.com> Sender: owner-cypherpunks@toad.com Cypherpunks, (With reference to recent discussions of the NSA's capabilities and what the open community is allowed to learn of them.) In the most recent issue of SCIENCE magazine (10 Feb, vol.267, pg.843) there is an article by Marc Damashek whose institutional affiliation is disingenuously stated as Department of Defense, Fort George G. Meade, MD 20755-600 ,USA. There is no mention of the No Such Agency with the same mailing address. Title, abstract and some tidbits below. . . Title: Gauging similarity with n-grams: Language-independent categorization of text. Abstract: A language-independent means of guaging topical similarity in unrestricted text is described. The method combines information derived from n-grams (consecutive sequences of n characters) with a simple vector-space technique that makes sorting, categorization, and retrieval feasible in a large multilingual collection of documents. No prior information about document content or language is required. Context, as it applies to document similarity, can be accommodated by a well-defined procedure. When an existing documentis used as an exemplar, the completeness and accuracy with which topically related documents are retrieved is comparable to that of the best existing systems. The results of a formal evaluation are discussed, and examples are given using documents in English and Japanese. Selected quotes: . . . . The technique, known as Acquaintance, is straightforward; a workable software system can be implemented in a few days' time. . . . . . . It has been put to practical use in a demanding government environment over a period of several years, where it has demonstrated the ability to deal with error-laden multilingual texts.. . . . . . . . An off-the-shelf personal computer can fully intercompare hundreds to thousands of documents in a manner of minutes. . . . . . . . In a typical run, 941 newspaper articles were exhaustively compared with one another, generating a total of 443,211 pairwise scores, in 726 seconds, including the time required to save the scores to disk (Apple Macintosh Quadra 950). . . . . . . Sorting and retrieval are linear in the number of documents investigated. . . . C. J. Leonard ( / "DNA is groovy" \ / - Watson & Crick <cjl@welchlink.welch.jhu.edu> / \ <-- major groove
algoritmi.18 rilakz,
Pozdrav! Molim vas da me obavestite gde mogu da nadjem sto veci broj algoritama za arhiviranje, i to sto pre, jer za par nedelja idem u ISP a dotle bi bilo pozeljno da imam makar algoritme (radim uporedni prikaz algoritama za razlicite vrste podataka). Ako neko ima algoritam ili program (M2đCđC++đPASđM2đBAS(?!)) bicu mu veoma zahvalan ako mi ga baci ;) . 3OPAH
algoritmi.21 djelovic,
> gde mogu da nadjem sto veci broj algoritama za arhiviranje Uz poruku 1.1 u ovoj konferenciji imaš FAQ o arhiviranju. Zašto ne pogledaš tamo?
algoritmi.22 maksa,
Pre par PC.PROG-ova ovde je išla lepa i temeljna rasprava o slučajnim brojevima i svrsishodnosti različitih pristupa. Pošto se gađalo nekom dosta visokom matematikom, nisam baš puno ukapirao ... stoga jedno verovatno glupo pitanje: Ako s vremena na vreme (u pravilnim ili nepravilnim intervalima) promenim seed, da li tako smanjujem mogućnost periodičnosti, odn. da li tako išta dobijam ? PS Sem Knuth-ovih knjiga koje je ovde teško nabaviti, da l' postoji još neka literatura u kojoj se opisuju osnovni pojmovi ?
algoritmi.23 maksa,
Da li neko ima algoritam, ili makar ideju (obrise ideje) za crtanje izohipsi, odn. contour plot-ova ? Svaki, i najmanji hint je više nego dobrodošao.
algoritmi.24 janko,
> Pre par PC.PROG-ova ovde je išla lepa i temeljna rasprava > o slučajnim brojevima i svrsishodnosti različitih > pristupa. Pošto se gađalo nekom dosta visokom matematikom, > nisam baš puno ukapirao > > Ako s vremena na vreme (u pravilnim ili nepravilnim > intervalima) promenim seed, da li tako smanjujem mogućnost > periodičnosti, odn. da li tako išta dobijam ? Svakim pozivom odgovarajuće funkcije rnd() menja se seed na novu vrednost. Ako i sam, između, menjaš seed, GARANTOVANO nećeš dobiti bolje rezultate.
algoritmi.25 maksa,
>> Svakim pozivom odgovarajuće funkcije rnd() menja se seed na >> novu vrednost. Ako i sam, između, menjaš seed, GARANTOVANO >> nećeš dobiti bolje rezultate. Tnx. :)
algoritmi.26 jelenica,
Hitno (do četvrtka najkasnije) bi mi trebala neka literatura o programiranju i8086, znači spisak naredbi sa njihovim značenjem, koje flegove menjaju i sl. Hvala! :) Jelena
algoritmi.27 bkaradzic,
> Hitno (do cetvrtka najkasnije) bi mi trebala neka > literatura o programiranju i8086, znaci spisak naredbi sa > njihovim znacenjem, koje flegove menjaju i sl. Hvala! :) U direktorijumu INFOPROG imas HELPPC i TECHHELP (nisam siguran za ime). U HELPPC imas sve instrukcije 80x86 procesora, a u TECHHELP imas za 808x i 80286:) Ako ti treba jos bolje objasnjenje nabavi knjigu Turbo Assembler Quick Reference Guide (dobija se u TASM;). čatßoy
algoritmi.28 mpeti,
Narode ! Jedno pitanjce. Ne znam da li ovo pitanje treba u ovu temu ali da probam. Trebale bi mi neke detaljnije informacije o BAR kodovima i to: - Da li u bar kodu ima skriveno nekih informacija (proizvodjač,vrsta robe, itd...) - Da li i kako jedna veletrgovina može imati svoje BAR kodove za proizvode koji ih već nemaju. - Ako može da li to treba negde da se registruje (fiksirane cifre ako ih ima), a ako ne kako mogu znati da kodovi koje ja dajem nisu duplikati? Za sada toliko nadam se da će neko znati da mi da neke detaljnije informacije. Pozdrav mpeti.
algoritmi.29 galimpic,
RE: Bar kod Imam svu dokumentaciju u vezi toga na poslu, dobićeš ovde sutra detaljnije podatke. Ukratko: moraš da se registruješ i zatražiš da ti odrede kod, i kad platiš dobiješ dozvolu, svoju šifru i uputstvo. Iz bar-koda se može saznati država, tip delatnosti preduzeća, jedinstvena šifra preduzeća i ostaje neko- liko slobodnih brojeva koje za svaki proizvod slobodno određuje preduzeće. Tu je i kontrolni broj.
algoritmi.30 galimpic,
RE: Bar kod Pogledao sam u dokumentaciji mog preduzeća na čije proizvode se stavlja bar kod, i evo šta sam zanimljivo našao: YANA - Jugoslovenska Asocijacija za Numerisanje Artikala Beograd, Terazije 23; tel: 339-461, fax: 631-928 Predstavnici za konsultacije: Mr. Mitić Božidar i Svetislav Jovanović) Zoveš ih i dobiješ uputstva za učlanjenje. Da bi se učlanio, treba ti registrovano preduzeće ili samostalna radnja. Potpišeš izjavu i uplatiš na njihov žiro-račun određenu sumu, koja zavisi od toga koliko želiš slobodnih brojeva za označavanje (do 100, do 1000,...). Zatim od njih dobiješ EAN-YANA oznaku (npr. 0101333, to je broj koji pred- stavlja tvoje preduzeće. U okviru njega postoje cifre za šifru delanosti i redni broj firme. Konkretnije ne znam, jer to zna direktor firme koji nije tu danas, ali verujem da će ti na gornji trelefon dati sve informacije i poslati prospekat). Uz oznaku dobiješ i putstvo kako se formira kod po EAN-13 standardu koji smo mi prihvatili: npr. 860 0101333 AA C gde je 860 oznaka za Jugoslaviju, AA je namenjena za numerisanje tvoj proizvoda (01, 02, ..., 99) koji slobodno formiraš, a C je kontrolni broj koji se izračunava po određenom algoritmu. EAN-13 standard određuje standardnu veličinu bar-koda i dozvoljena odstupanja, kombinacije boja itd. 100% dimenzije (standardne) su 37,29 mm (širina) * 26,26 mm (visina), a standardna umanjenja-uvećanja idu za po 5%. Visina može da se dodatno skraćuje. Moguće kombinacije boja su: za podlogu: bela, žuta ili crvena; za crte: crna, plava, zelena ili braon. Mislim da može da se traži i oznaka po EAN-8 standardu, ali mi to ovde nemamo pa ne mogu da ti dam detaljnije informacije. S obzirom da se ti kodovi sastoje iz samo 8 brojeva (uključujući 860 za YU i, valjda, kontrolni broj) pretpostvljam da se radi o oznakama za specifičnu, a ne opštu upotrebu. Kada numerišeš svoje proizvode možeš da platiš nekoj agenciji da ti izradi filmove sa bar-kodom (ima ih nekoliko, npr. "Ekonomski biro, DP Savremeni privrednik, Srpskih vladara 4/III, tel: 688-250). Postoje i programi i TT fontovi za bar-kod tako da i sam možeš da ih napraviš, što je sasvim legalno ali treba da paziš na dozvoljena odstupanja (praktično: odneseš u prodavnicu i zamoliš da pređu olovkom i vide da li se očitava). Možeš slobodno da izdaješ nove kodove (ono AA), trgovine (čini mi se) same prave spiskove proizvoda prema bar-kodovima koje nose na sebi. E sad, da li može veletrgovina da budži bar-kodove proizvodima koji ih nemaju. Prvo, kako na gotov proizvod okačiti bar-kod? Teško. Drugo, da li je to uopšte dozvoljeno? Teško. Zovi YANA-u pa pitaj. Pozdrav, Goran.
algoritmi.31 mpeti,
Zahvaljujem se galimic-u na detaljnim informacijama o BAR kodu, i koristim priliku da iznesem sta sam u medjuvremenu saznao. Telefon YANA-e je (011) 3248-392. Veletrgovina i trgovina uopšte može dobiti EAN-13 kod. Praksa YANA-e je da se trgovinama daje kod do 100000 artikala (5 cifara). Pristupnina 60din din. žlanarina 220 din godišnje. pozdrav svima.
algoritmi.32 mmitrovic,
Ů█▀█Ţ E sad, da li može veletrgovina da budži bar-kodove proizvodima koji ih Ů█▀█Ţ nemaju. Prvo, kako na gotov proizvod okačiti bar-kod? Teško. Drugo, da Ů█▀█Ţ li je to uopšte dozvoljeno? Teško. Zovi YANA-u pa pitaj. Pa šta misliš šta radi C Market, samo što ne zalepe bar kod na hleb. :) Možda su i probali pa im otpadale nalepnice. Pored njih svoje nalepnice koriste i Robne kuće Beograd.
algoritmi.33 vlador,
Treba mi funkcija koja računa ugao između dva vektora koja vraća rezultat od 0 do 2pi (dakle, bitan je smer - od prvog vektora u pozitivnom smeru ka drugom.
algoritmi.34 ushke,
> Treba mi funkcija koja računa ugao između dva vektora koja > vraća rezultat od 0 do 2pi (dakle, bitan je smer - od prvog > vektora u pozitivnom smeru ka drugom. Nadam se da sam shvatio šta si hteo da pitaš. Nisi naveo da li se radi o vektorima u 3-d prostoru ili u 2-d ravni. Ako si mislio na vektore u 3-d prostoru, to ćeš malo teže da izvedeš, jer ni ne možeš da definišeš pozitivan i negativan smer; pogledaj u sat i kazaljke će ići u jednom smeru (,pozitivnom') a onda pogledaj sat sa druge strane i kazaljke će se kretati u drugom smeru. Dakle, evo rešenja za 2-d ravan. Napisano je u pascalu, nadam se da nećeš imati problema. function Ugao(X1,Y1,X2,Y2:real):real; var d1,d2,kos,ug:real; begin d1:=sqrt(sqr(x1)+sqr(y1)); d2:=sqrt(sqr(x2)+sqr(y2)); if (d1=0) or (d2=0) then ugao:=0 {jedan od vektora je 0 vektor} else begin x1:=x1/d1; y1:=y1/d1; x2:=x2/d2; y2:=y2/d2; kos:=x1*x2+y1*y2; if kos=0 then ug:=pi/2 else if kos>0 then ug:=arctan(sqrt(1-sqr(kos))/kos) else ug:=pi-arctan(sqrt(1-sqr(kos))/kos); if (x1*y2-x2*y1)<0 then ug:=2*pi-ug; ugao:=ug; end; end;
algoritmi.35 vlador,
> druge strane i kazaljke će se kretati u drugom smeru. Dakle, evo rešenja > za 2-d ravan. Napisano je u pascalu, nadam se da nećeš imati problema. Thanks. To je ono što mi treba. :)
algoritmi.36 nbulatovic,
> Ako s vremena na vreme (u pravilnim ili nepravilnim intervalima) > promenim seed, da li tako smanjujem mogucnost periodicnosti, odn. > da li tako ista dobijam ? menjanje seed-a ti nece koristiti, ali ako hoces da poboljsas generator probaj sledece: 1. napravis jednu tabelu, i popunis je slucajnim brojevima 2. kada ti treba slucajan broj, uzmes neki iz tabele (po slucajnom principu), i na tom mestu u tabeli upises neki drugi slucajan broj 3. za generator sluc. brojeva koji ti sluzi za biranje polja iz tabele moze da posluzi i neka time() ili sl. funkcija koja vraca milisekunda e. < 1 MIN NB
algoritmi.37 djelovic,
Ima li neko rutine za izračunavanje matematičkih izraza i za simboličko diferenciranje? Po mogućnosti na C-u.
algoritmi.38 maksa,
>> Ima li neko rutine za izračunavanje matematičkih izraza Računari 79, Viktor Cerovski. >> simboličko diferenciranje? Po mogućnosti na C-u. Računari 80, isti autor. Svi primeri su u paskalu, al' na kraju postoji i neki osvrt kako bi se to (mnogo pametnije ;) izvelo u objektnom maniru.
algoritmi.39 maksa,
>>>> Ima li neko rutine za izračunavanje matematičkih izraza >> >> Računari 79, Viktor Cerovski. Sad se setih da od nekud imam i ovo. Lib, bez sorsa. expr11.zip
algoritmi.40 janko,
> menjanje seed-a ti nece koristiti, ali ako hoces da > poboljsas generator probaj sledece: > 1. napravis jednu tabelu, i popunis je slucajnim brojevima > 2. kada ti treba slucajan broj, uzmes neki iz tabele (po > slucajnom principu), i na tom mestu u tabeli upises neki > drugi slucajan broj > 3. za generator sluc. brojeva koji ti > sluzi za biranje polja iz tabele moze da posluzi i neka > time() ili sl. funkcija koja vraca milisekunda e. > < 1 MIN > NB Ako stvarno hoćeš da poboljšaš generator, ne čini ovo gore ni za živu glavu. Posebno ne ono pod 3 -- milisekunde se strašno sporo menjaju sa gledišta kompjutera, i još kad se i promeni, x(i+1)=x(i)+1 što je nikakva slučajnost. Moja formulacija je: ako ti treba bolji generator od onog iz standardne biblioteke, nađi sors boljeg i koristi njega. ali prvo smisli da li ti stvarno treba bolji.
algoritmi.41 nemko,
Ovaj generator negde procitah i bas mi se svideo: Od tri seed-a (mozete i vise ako zelite) generisete nove: f1: x1:=171*(x mod 177)-002*(x div 177); if x<0 then x:=x+30269; f2: x1:=172*(x mod 176)-035*(x div 176); if x<0 then x:=x+30307; f3: x1:=170*(x mod 178)-063*(x div 178); if x<0 then x:=x+30323; I njih koristite kao osnovu za random: r: r:=1/(x1+x2+x3) Optimizujte kako hocete!
algoritmi.42 mdimitrijevic,
Hi, na moju veliku zalost nisam preveliki specijalista za ovakvu vrstu matematike. Potrebno mi je izracunavanje rotacije oko X, Y i Z kordinata to jest X', Y' i Z' pomocu MATRICA. Koliko sam upoznat sa tim nacinom umesto 12 mnozenja za svaku tacku dobija se 9 mnozenja. Sve se postize koeficijentima koje izracunam na pocetku i mnozim sa X, Y i Z za svaku tacku. Svrha svega je ubrzanje posto mnozenje zahteva i previse vremena za ono sto je meni potrebno. Nadam se da sam dobro objasnio sta mi je potrebno. Prilazem i nacin na koji se racuna rotacija X, Y, Z za odredjeni ugao u X', Y', Z'. Rotacija oko X ose: Y'= Y*COS(ugaoX) - Z*SIN(ugaoX) Z'= Y*SIN(ugaoX) + Z*COS(ugaoX) X = X Y = Y' Z = Z' Rotacija oko Y ose: X'= X*COS(ugaoY) - Z*SIN(ugaoY) Z'= X*SIN(ugaoY) + Z*COS(ugaoY) X = X' Y = Y Z = Z' Rotacija oko Z ose: X'= X*COS(ugaoZ) - Y*SIN(ugaoZ) Y'= X*SIN(ugaoZ) + Y*COS(ugaoZ) X = X' Y = Y' Z = Z Pozdrav, Marjan P.S. Znaci sve :) sto mi treba je kako to uraditi. Ili u najgorem :) slucaju primer u bilo kom jeziku.
algoritmi.43 eburanj,
Ervin Varga kaze: Tabela (matrica) u kojoj se nalaze x,y i z koordinate tacaka se mnozi sa: ┌ Ş │ cos(a) -sin(a) 0 │ │ sin(a) cos(a) 0 │ a - ugao rotacije │ 0 0 1 │ └ ┘ Projektovanje na ekran vrsi se pomocu: ▀▀▀▀▀▀▀▀▀▀▀▀▀ (x,y,z) -> (p,q): p:=x+y*cos(f)+x0 x0 i y0 su koordinate koordinatnog pocetka q:=y0-z-y*sin(f) f - ugao kose projekcije Program rotira zicani model kocke (1 - ubrzava, 2 - usporava) < cut here > uses graph,crt; const a : array[1..8,1..2] od real=((0,0,0,(8,0,0),(8,0,8),(0,0,8), (0,8,8,(8,8,8),(8,8,0),(0,8,0)); x0=160; y0=100; GraphDriver:integer=CGA; GraphMode:integer=CGA1; BrizinaRotacije=1; var b : array [1..9] of PointType; e,f,alfa : byte; procedure inicijalizacija; begin InitGraph(GraphDriver,GraphMode,''); SetLineStyle(solid,0,NormWidth); Setcolor(1) end; function Skan:boolean; var c:char; begin Skan:=false; if keypressed then begin c:=readkey; case c of '1': if brzinarotacije>1 then dec(brzinarotacije); '2': if brzinarotacije<9 then inc(brzinarotacije); '3': c:=readkey; #27: skan:=true end end end; procedure rotiraj; var i:byte; c,s,x:real; begin c:=cos(brzinarotacije*pi/180); s:=sin(brzinarotacije*pi/180); for i:=1 to 8 do begin x:=a[i,1]*c-a[1,2]*s; a[i,2]:=a[i,1]*s+a[i,2]*c; a[i,1]:=x; b[i].x:=x0+round(a[i,1]+a[i,2]*e)*7.5); b[i].y:=y0+round(a[i,3]+a[i,2]*f)*8) end; b[9]:=b[5] end; procedure crtajkocku; begin cleardevice; drawpoly(9,b); line(b[3].x,b[3].y,b[6].x,b[6].y); line(b[2].x,b[2].y,b[7].x,b[7].y); line(b[1].x,b[1].y,b[4].x,b[4].y) end; (* GLAVNI PROGRAM *) begin ClrScr; write('Unesite ugao kose projekcije u stepenima: '); readln(Alfa); if alfa<0 then alfa:=alfa+360; alfa:=alfa*pi/180; e:=cos(Alfa); f:=sin(Alfa); Inicijalizacija; repeat Rotiraj; CrtajKocku until Skan; CloseGraph end. < cut here >
algoritmi.44 eburanj,
Zna li iko na SEZAM-u sadrzaj slike u formatu IFF (ILBM)???
algoritmi.45 omega,
Ţ Zna li iko na SEZAM-u sadrzaj slike u formatu IFF (ILBM)??? Zna :) ilbm.zip
algoritmi.46 nbulatovic,
Ako stvarno hoces da poboljsas generator, ne cini ovo gore ni za zivu > glavu. Posebno ne ono pod 3 -- milisekunde se strasno sporo menjaju > sa gledista kompjutera, i jos kad se i promeni, x(i+1)=x(i)+1 sto je > nikakva slucajnost. mislim da nisi dobro razumeo postupak. program ide ovako: var tab:array[0..n-1] of real; function rnd:real; var i:integer; begin i:=rnd1*n; rnd:=tab[i]; tab[i]:=rndx; end; rndx je postojeci generator koji zelis da poboljsas za rnd1 mozes da uzmes: 1) rndx 2) kongruentni ili neki drugi generator (koji moze biti losiji od rndx) 3) milisekunde (ako ne trazis previse cesto rnd) ovakav postupak u svakom slucaju poboljsava slucajnost generisanih brojeva (cak i ako rnd1 daje lose slucajne brojeve), zato sto dolazi do dodatne permutacije brojeva generisanih pomocu rndx. NB
algoritmi.47 eburanj,
Hvala! Odoh da pogledam...
algoritmi.48 mdimitrijevic,
Hvala pogledacu ovo o matricama. Sav problem je bio u tome sto sam zeleo da ubrzam moje 3D filovane rutine u ASM-u. Jer ubrzanje koje se dobija pomocu matrica je primetno veliko. Uzgred ako mi nesto ne bude jasno ocekuj jos poneko pitanje. :) Pozdrav, Marjan
algoritmi.49 mdimitrijevic,
I dal űje su u pitanju MATRICE. Kako sam video imas onde ű rotaciju  űsamo  űpo jednom uglu za sve kordinate. Kako uraditi da za svaku kordinatu pomeram za razlicit ugao ??? Pozdrav, Marjan´k
algoritmi.50 janko,
> mislim da nisi dobro razumeo postupak. program ide ovako: > za rnd1 mozes da uzmes: > 1) rndx > 2) kongruentni ili neki drugi generator (koji moze biti > losiji od rndx) > 3) milisekunde (ako ne trazis previse cesto rnd) > > ovakav postupak u svakom slucaju poboljsava slucajnost > generisanih brojeva (cak i ako rnd1 daje lose slucajne > brojeve), zato sto dolazi do dodatne permutacije brojeva > generisanih pomocu rndx. Postupak (bez milisekundi) je opisan u Knutovim The Art... ako se ne varam. Ali to sa milisekundama? Nemoj molim te... Uzmi milisekunde i džabe si radio mešanje. Pazi molim te "ako ne tražiš previše često rnd"? Milisekunde su slučajne samo ako ih pozivaš ne češće od jednom dnevno, recimo. Osnovno pravilo za ispravno korišćenje rnd generatora je NE KORISTITI sistemsko vreme osim, eventualno, za inicijalizaciju seeda. Ali i za to postoje bolja rešenja (vidi kako to radi PGP).
algoritmi.51 eburanj,
Sto se brzine tice - ne zϤ´n űam tacno (zato sam vaˇŚš#m i dao da prokomentarisete ;-)), a sto se tice rotacije u vise dimenzija -ˇŚŠ* prosto: U stvari 3d prostor posmatras kao vise ű ű ravni , tj. prvo rotiras po tom algoritmu ¸│¸│tacku u ravni X,Y , zatim XY,Z, pa Y, Z i dobijes 3d rotaciju (to je  ű¸│i napisano pre neki dan uz pomoc trigonometrije). P.S. losa veza: rotira se oko X,Y , zatim X,Z, pa Y,Z ravni (t■˛■˛ri uglaQ P.P.S Ja jos uvek rotiram  űtrigonometrijom :-QQQ
algoritmi.52 eburanj,
UzgredŠ* ű u onom programu je rotacija samo oko jedne ravni
algoritmi.53 eburanj,
Kako da gledam o■˛svetljenost tacke??? Da li mogu űűoda uzmem aritmeticku sri˛ţbdinu R, G i B komponenti? Mkosanovic
algoritmi.54 mdimitrijevic,
Osvetljenost poligona mislis ? Ajde baci mi objasnjeno pitanje u MAIL pa cu videti da ti odgovorim. Sto se matrica tice sa njima je prilicno brze zato i▄└1P h i trazim. Pozdrav, Marjan
algoritmi.55 nemko,
)>Ć- P.S. losa veza: rotira se oko X,Y , zatim X,Z, pa Y,Z ravni )>Ć- (t■˛■˛ri uglaQ Dovoljno je da rotiras oko 2 ose. Time skracujes vreme potrebno za proracune. Samo malo prelistaj neki udzbenik sferne geometrije.
algoritmi.57 eburanj,
Dakle ovako> Kako da na osnovu R,G i B komponenti dve boje odredim koja je svetlija?°─ Mkosanović
algoritmi.58 eburanj,
Izvinjavam se za eventualne greške-uglavnom sam ON-LINE MKosanović
algoritmi.59 zormi,
* Kako da na osnovu R,G i B komponenti dve boje odredim koja je * svetlija?°─ Ako se radi o prikazu na monoVGA monitoru, obično se samo G signal koristi. Za kombinaciju ne znam ima li neki algoritam za izračunavanje.
algoritmi.60 eburanj,
Hvala, ali radi se o težem slučaju...
algoritmi.61 mdimitrijevic,
Sto se tice R,G i B komponenti moze da se pokusa kao sto pomenuh EBURANJ-i sa sabiranjem vrednosti R+G+B je űr one i onako predstavljaju procente zastupljenosti tih boja. Uz malo eksperimentsanja lako je uraditi cini mi se. Pozdrav, Marjan
algoritmi.62 galimpic,
Re: RGB -> nijanse sive K = 0,1 * B + 0,3 * R + 0,6 * G R,G,B su vrednosti za R,G i B komponentu. K je rezultujuća nijansa sive. Najčešće je opseg 0..255, pa ćeš za, recimo, žutu (R=255, G=255, B=0) imati K=230. NE garantujem za apsolutnu tačnost ovih konstanti, može biti, recimo, 0,098 umesti 0,1 itd. Vrednosti sam dobio empirijski proveravajući kako je Corel PhotoPaint konvertovao boxove nekih boja u grayscale. Dakle, moguće je i da su konstante stvar ukusa.
algoritmi.63 mmitrovic,
::::: Kako da na osnovu R,G i B komponenti dve boje odredim koja je ::::: svetlija?°─ Postoji VGA BIOS funkcija (AX=101Bh) koja konvertuje boje u gray scale intenzitete. Parametri su BX=prvi kolor registar i CX=broj kolor registara koji se racunaju. Rutina izračuna za svaki registar intenzitet i upiše ga umesto boje. Inače, ovaj poziv se može koristiti da se slika prikaže u grayscale-u na monoVGA. Ucita se slika i pozove INT 10h sa AX=101B, BX=0, CX=100h. Nadam se da ovo pomaže.
algoritmi.64 d.stamen,
> Dakle, moguce je i da su konstante stvar ukusa. > K = 0,1 * B + 0,3 * R + 0,6 * G nisu stvar ukusa, a odredio si super :) Po predavanjima profesora Savica sa ETF-a je: 0.11*B+0.3*R+0.59*G
algoritmi.65 galimpic,
> nisu stvar ukusa, a odredio si super :) Po predavanjima profesora > Savica sa ETF-a je: > 0.11*B+0.3*R+0.59*G E, sad dolazi moje pitanjce: a zašto je to tako? ima li neke veze sa talasnim dužinama svetlosti? Na prvi pogled nema.
algoritmi.66 maksa,
>>> 0.11*B+0.3*R+0.59*G >> >> E, sad dolazi moje pitanjce: a zašto je to tako? ima li neke >> veze sa talasnim dužinama svetlosti? Na prvi pogled nema. Na drugi ima. :) Fiziologija prosečnog oka je takva da je ono najosetljivije na svetlost talasne dužine 555 nm. (oko sredine vidljivog dela spektra), tj. na zeleno-žutu svetlost. Koeficijenti u formuli su očigledno podešeni tako da se najveće K dobije za RGB kombinaciju koja daje pomenutu zeleno-žutu nijansu. (što se vidi i iz tvog primera)
algoritmi.67 eleoni,
Interesujeme sledece: Kako se izracunava vrednost polinom n-tog stepena primenom Hornerove seme. Znam za odredjivanje koeficijenata polinamo kojeg delimo sa nekim brojem primenom ovo seme ali ovo prvo jednostavno ne kapiram Pozdrav Emil
algoritmi.68 janko,
> Kako se izracunava vrednost polinom n-tog stepena primenom > Hornerove seme. Znam za odredjivanje koeficijenata > polinamo kojeg delimo sa nekim brojem primenom ovo seme > ali ovo prvo jednostavno ne kapiram Neka ti je polinom, recimo: y(x) = 11 * x ^ 3 + 12 * x ^ 2 + 13 * x + 14 Ako se ovo računa tako kako je napisano, to izgleda ovako: y(x) = 11 * x * x * x + 12 * x * x + 13 * x + 14 Manje množenja je potrebno ako je postupak: y(x) = ( ( 11 * x + 12 ) * x + 13 ) * x + 14 Gornju formulu, napisanu kao tabelicu ( da zbuni đake ;> ) zovu Hornerova šema. ----- Tag: Svašta bih uradio, da sam malo bolje znao matematiku.
algoritmi.69 eleoni,
ZahŰOvaljujem, Emil
algoritmi.70 eburanj,
Primeti da je način š#brži za računanje - ovde ima samo 3 množenja
algoritmi.71 eburanj,
Hvala svima koji su se trudili za pitanje ok űo osvetljenosti! MKosanović
algoritmi.72 eburanj,
Setio sam se jednog finog algoritma za dobijanje varijacija sa ponavljanjem od N elemenata N-te klase Našim jezikom: Emulacija n FOR petlji od 1 do N. (Ustvari od 0 do n-1, ali time i prethodno) Dakle, algoritam kaže sledeće (ne tražite od mene matematički dokaz, ali očigledno valja) Prevodimo brojeve od 0 do (n+1)^(n+1) u sistem sa osnovom n. Tada smo dobili broj koji predstavlja varijaciju. Ako broj nije N-to cifren ispred smatramo da su nule, zatim čitamo redom cifru po cifru broja, i dobili smo varijaciju. Brži algoritam je teško zamisliti!!! Prosto da se smejemo nekima koji koriste rekurziju! MKosanović
algoritmi.73 eleoni,
> Primeti da je način š#brži za računanje - ovde ima samo 3 množenja Još jednom zahvaljujem. Hornerovu šemu sam shvatio u potpunosti. Prema tome za ostale zainteresovane sledi opšta forma za rešavanje polinoma n-tog stepena: P(X) = a(0)*Xžn + a(1)*Xž(n-1) + ... + a(n-1)*X+a(n) Hornerova šema: P(X) = a(n) + X*(a(n-1) + ... + X*(a(1) + X*a(0))...) Pozdrav, Emil
algoritmi.74 eleoni,
Jedno strogo matematičko pitanje: Kako se rešava Laplasova jednačina: Űřz Űřz ───── + ───── = 0 Űxř Űyř primenom metode mreža na pravougaonoj oblasti. Zapravo, u čemu se sastoji ova metoda. Pozdrav, Emil
algoritmi.75 eburanj,
Zna li iko koja kombinacija bitnih ravnu koji broj boje daje? MKosanović
algoritmi.76 eburanj,
Da li je ovde bilo govora o bezieorovim krivama (kako ih nacrtati?). Ako šjeste neka mi neko kaže na mail brojeve poruka i konferencija(ili tekst), a ako nije pitam vas.
algoritmi.77 stanic,
Resesnje se trazi u oblasti D ogranicenoj nekom krivom G (D=int G) pri cemu resenje mora zodovoljavati na krivoj G dati konturni uslov(znaci u postavci ti fali taj konturni uslov). Ovde cu pricati o konturnim uslovima I reda koji su oblika: u(x,y)=s(x,y) , (x,y) ţ G Metod mreza se drugacije zove diferencni metod. Prvo treba izabrati diskretan skup tacaka Dh koji pripada trazenoj oblasti. Najcesce se za mrezu uzima familija paralelnih pravih: X =X +ih , Y =Y +jh i 0 j 0 (ovde uzimamo ekvidistantne prave, ali to naravno ne mora) Nakon konstrukcije mreze Dh potrebno je izvrsiti diskretizaciju parcijalne jednacine i konturnog uslova, cime se dobija sistem linearnih jednacina cijim resavanjem se dobija trazeno resenje. Posle toga treba izvrsiti proveru stabilnosti sheme tj. da li je dobijeno diskretno resenje zaista resenje polaznog problema. So, krenimo na razradu gore izlozenog. Za oblast cu uzeti D=(0,1)x(0,1). Resavacemo problem sa homogenim konturnim uslovima tj. u=0 na granici oblasti. Ukoliko nemamo ovaj slucaj uvescemo smenu: u=U+u1, pri cemu je bitno da se u i U poklapaju na G tj. na granici konture(znaci mozemo izabrati da U=s u celoj oblasti, a ne samo na granici konture), cime polazni problem postaje: 0=u=U+u1 tj. u1 = - s Aproksimaciju dalje vrsimo na sledeci nacin: Űřu1 u1(i+1,j)-2u1(i,j)+u1(i-1,j) ────── = ──────────────────────────── Űxř hř Űřu1 u1(i,j+1)-2u1(i,j)+u1(i,j-1) ────── = ──────────────────────────── Űyř hř (u1(i,j) je vrednost f-je u1 u tacki x , y ) i j sto zajedno daje: u1(i+1,j)-2u1(i,j)+u1(i-1,j) u1(i,j+1)-2u1(i,j)+u1(i,j-1) ──────────────────────────── + ──────────────────────────── = - s(i,j) hř hř gde je: s(i+1,j)-2s(i,j)+s(i-1,j) s(i,j+1)-2s(i,j)+s(i,j-1) s(i,j)= ──────────────────────────── + ──────────────────────────── hř hř i za konturne uslove imamo: u1(i,0)=0 , u1(0,j)=0 u1(i,n)=0 , u1(n,j)=0 i,j = 0,n Gornju diferencnu jednacinu mozemo resiti prenumeracijom cvorova mreze: (xi,yj) -> i + j*n kao na slici, gde k = 1,nř i i,j=0,n. k+n-1 │k k-1 ────┼──── k+1 │ k-n+1 Postavljeni sistem prelazi u: u1(k+1)-2u1(k)+u1(k-1) u1(k+n-1)-2u1(k)+u1(k-n+1) ────────────────────── + ─────────────────────────── = - s(k) hř hř ili na kraju: u1(k-n+1)+u1(k-1)-4u1(k)+u1(k+1)+u1(k+n-1)=-hřs(k) Nakon resavanja sistema vrati se smena gore i that's all. Nisam bas najsigurniji da li je sve ovo ok. Davno bese kad se ovo radilo. Problematican mi je ovaj deo oko prenumeracije cvorova. Na faxu se radila prenumeracija samo unutrasnjih cvorova mreze, no kad sam to juce pogledao malo mi sve to cudno izgleda. Nemam trenutno vremena da se malo vise poigram sa tim. No ovde je covek koji je drzao vezbe iz Numerike II tada (mdrazic) koji moze razresiti ovu dilemu. Poz,Milan.
algoritmi.78 galimpic,
Pričali smo o tome počev od poruke 1.7, pa do 1.16. Pošto mi je to baš trebalo, posle sam sve to sebi napravio lepo sređeno. Ako je još u životu, poslaću ti.
algoritmi.79 mdrazic,
> ili na kraju: > > u1(k-n+1)+u1(k-1)-4u1(k)+u1(k+1)+u1(k+n-1)=-hřs(k) > > Nakon resavanja sistema vrati se smena gore i that's all. > Problematican mi je ovaj deo oko prenumeracije cvorova. Na faxu se radila > prenumeracija samo unutrasnjih cvorova mreze... > poigram sa tim. No ovde je covek koji je drzao vezbe iz Numerike II tada > (mdrazic) koji moze razresiti ovu dilemu. Kad sam prozvan... :) Ako su granični uslovi prve vrste (date su vrednosti rešenja na granici, a ne izvoda ili neke kombinacije izvoda i vrednosti) tada se mogu vrednosti na granici direktno uneti kao konstante u sistem, pa ostaju samo granični čvorovi koji se prenumerišu. Ako granični uslovi nisu prve vrste, tada je potrebno uzeti i granične čvorove kao promenljive (nepoznate). Formalno i za prve granične uslove možeš granične uslove uzeti za promenljive sa trivijalnom jednačinom za njih. U svakom slučaju, na kraju se dobija ogroman sistem linearnih jednačina, koji je međutim redak (u svakoj jednačini po pet ne-nula elemenata). Metode direktnog tipa (Njutnova i slične) nisu primerene. Sistem je dušu dao za neki iterativni postupak. Metoda proste iteracije je recimo: u1(k) = ( u1(k-n+1)+u1(k-1)+u1(k+1)+u1(k+n-1) + hřs(k) ) / 4 Metoda konvergira (doduše sporo). Lepa stvar je što za zapis sistema treba svega nekoliko nizova (najviše 5) a ne cela matrica. Postoje i druge iterativne metode za rešavanje sistema koje su efikasnije od ove (gradijentne metode, metod konjugovanih gradijenata,...) pa ako ti treba pogledaj u literaturi. Milan
algoritmi.80 dvesic,
Molim dobru dušu da priloži što jednostavniji (za pamćenje) algoritam za generisanje BALANSIRANOG binarnog stabla. Jezik nije bitan :) Pozdrav, Dejan.
algoritmi.81 szeman,
Bilo bi zanimljivo da neko (DejanR ?) ovde iznese SRT algoritam za brže deljenje, a koji je implementairan u Pentium (na žalost, sa poznatim previdom...)
algoritmi.82 nemko,
Sta mislite o ovom skrolu, Ako vam se svidja, da ga zajedno doteramo? Treba mi nesto ludacki brzo! demoxy.zip
algoritmi.83 madamovic,
Ima li neko dokumentacije u obliku fajlova o raznim algoritmima? Ako da, molim bacajte SVE ŠTO JE TOG TIPA, ovde ili na MAIL meni.... Unapred zahvalan.
algoritmi.84 eburanj,
Da li j e neko pravio šah?
algoritmi.85 ikuzmanovic,
Ja sam pravio sah, ali nikako nisam uspevao da smestim onoliku tablu na monitor ;> Zezam se, i meni bi trebali algoritmi za sah...
algoritmi.86 madamovic,
> Da li j e neko pravio šah? Pitaš ima li vatrenih šahista na Sezamu ;) ?
algoritmi.87 nemko,
)>- Zezam se, i meni bi trebali algoritmi za sah... Borland pascal 7.0 (ili to bese Borland C++ 3.0), uz jedan od ta dva sigurno postoji program za igranje saha sa kompletnim source kodom!
algoritmi.88 ikuzmanovic,
Bilo je neceg slicnog i na BELGRADE BULL BBS-u. Chessbase za C++, biblioteka... Ali, meni bi ipak vise koristili algoritmi, ovako sam prinudjen da koristim neki jezik jer vec ima biblioteka za sah, itd.... Dakle, algoritmi?
algoritmi.89 smarkov,
> Da li j e neko pravio šah? Postoji (valjda i na SEZAMU) GNU šah. Dolazi (kao i sve GNU stvari) sa kompletnim izvornim kodom u C-u. Postoje UNIX, DOS i WINDOWS varijante. Mašina za igru je naravno identična. Verovatne te analiza ovakvog programa neće naučiti "pravljenju" šaha - potrebna je odgovarajuća izobrazba iz Teorije igara. Svojevremeno ('85 god. ?) je Dejanr imao u računarima izuzetnu seriju tekstova na ovu temu.
algoritmi.90 eburanj,
Pa pošalji onda!
algoritmi.91 ikuzmanovic,
I kako da dodjem do te izuzetne serije tekstova Dejanr-a?
algoritmi.92 szeman,
>> Ali, meni bi ipak vise koristili algoritmi, ovako sam prinudjen da >> koristim neki jezik jer vec ima biblioteka za sah, itd.... >> >> Dakle, algoritmi? Ako imaš starije brojeve Mog Mikra, naći ćeš seriju tekstova i source demo primera u BASIC-u. Kako trenutno nemam brojeve kod sebe, neko od vatrenih kolekcionara će ti sigurno pomoći... Srećno traganje...
algoritmi.93 eburanj,
Hvala....
algoritmi.94 dvesic,
[ Literatura ] Potreban mi je spisak i predlozi literature iz oblasti Skoro periodičnih funkcija ( obično se javljaju kao rešenja diferencijalnih jednačina. mdrazic ? :) Pozdrav, Dejan.
algoritmi.95 mdrazic,
> Potreban mi je spisak i predlozi literature iz oblasti > > Skoro periodičnih funkcija Nemam pri sebi ništa :( Probaj u Matematičkom Institutu SANU (1.sprat), kaži bibliotekarki da sam te ja poslao. Tamo su uneli ceo fond u bazu podataka koju možeš da pretražuješ po bilo čemu :) Imaju i klasifikaciju unetu, pa možeš i preko nje. Kad nađeš nešto novije iz te oblasti, pogledaj u spisak literature pozadi. Tako bih recimo ja probao. Dalje možeš (kada znaš šta tražiš) pokušati u našoj biblioteci, ili u Narodnoj, ili u Univerzitetskoj. Milan
algoritmi.96 supers,
Kako da generišem slučajan broj iz intervala od 1 do n, ali tako da verovatnoća da će se pojaviti neki brojevi bude x puta veća od verovatnoće za ostale brojeve? Ako, na primer, tražim rnd iz intervala [1,5] a hoću da mi verovatnoća za pojavljivanje trojke bude duplo veća, uzeću rnd za interval [1,6], pa ako ispadne šestica - smatram da je trojka. Mene bi interesovalo neko elegantnije rešenje, koje bi omogućilo da se za više brojeva odredi nekoliko puta veća verovatnoća nego za ostale. Pa još ako bi bila neka ilustracija u bejziku ili paskalu... :)
algoritmi.97 paki,
> Kako da generišem slučajan broj iz intervala od 1 do n, ali tako da > verovatnoća da će se pojaviti neki brojevi bude x puta veća od verovatnoće > za ostale brojeve? Recimo da imaš funkciju rnd() koja ti vraća rezultat u opsegu 0..1 i da ti treba ovakva raspodela: x │ 1 │ 2 │ 3 │ 4 │ 5 ────┼───┼───┼───┼───┼─── p(x)│0.3│0.2│0.1│0.3│0.1 Brojnu osu između 0 i 1 podeliš na pet intervala, tako da širina svakog od njih bude jednaka verovatnoći pojavljivanja odgovarajuće vrednosti: 1 │ 2 │ 3 │ 4 │ 5 ───────┼───────┼───────┼───────┼─────── 0.0-0.3│0.3-0.5│0.5-0.6│0.6-0.9│0.9-1.0 Posle toga, odgovarajuća funkcija je krajnje jednostavna: function MyRandom: integer; var r: real; begin r = rnd(); if r < 0.3 then MyRandom = 1; else if r < 0.5 then MyRandom = 2; else if r < 0.6 then MyRandom = 3; else if r < 0.9 then MyRandom = 4; else MyRandom = 5; end;
algoritmi.98 supers,
>> Brojnu osu između 0 i 1 podeliš na pet intervala, tako da širina >> svakog od njih bude jednaka verovatnoći pojavljivanja odgovarajuće >> vrednosti: >> Posle toga, odgovarajuća funkcija je krajnje jednostavna: Hvala, hint ti je precizan i odličan :) Trebaće mi još malo rada da mi program sam secka opseg [0..1] na odgovarajuće intervale u zavisnosti od zadate verovatnoće za brojeve, ali to će se već rešiti :)
algoritmi.99 mdrazic,
U vezi dejanr-ovog teksta u PC o kontrolnim ciframa. Izgleda da ne postoji konzistentan način računanja kontrolnog broja po modulu 11. Ovaj modul 11 je jako zgodan (treba da je prost broj i da daje što više raznih ostataka, zbog praktičnosti ne više od 10) i on se koristi u svim modelima koje sam do sada koristio (proveravao). Takođe izgleda da je množenje sa 2,3,4,5,6,7,2,3,... od desne cifre, sabiranje i deoba sa 11 takođe standardno (za više raznih šifara). Razlike nastaju u daljem postupku. Kada se dobije razlika (11 - Ostatak) to je broj između 1 i 11 (a ne 0 i 11 kao u tekstu). Pošto ih je 11, a cifara 10, jedan se proglašava nepoželjnim i izbegava se davanje takvih šifara (što je dobro). Međutim, kod šifara firmi (prema tekstu) to je 11, dok se recimo kod matičnog broja građana izbegava 10 (a za 11 se uzima 0 za kontrolu) ! Ako je do mog mišljenja, smatram varijantu kod matičnog broja boljom jer se kontrola pojednostavljuje. Naime, za kontrolu je dovoljno samo izmnožiti cifre (s leva) redom sa 7,6,5,4,3,2,7,6,5,4,3,2,1 (sa 1 se množi kontrolna cifra), sabrati, i rezultat mora biti deljiv sa 11. Prosto k'o pasulj. Nemogućnost zapisa jedanaeste cifre zahteva da se u startu neke šifre (bez kontrolne cifre) jednostavno preskaču da ne bi pravile probleme. Ovo znači da se sistem ne može kao takav primeniti na već podeljene šifre gde se o ovome nije vodilo računa. I tu ima leka ako se recimo uzme znak X kao jedanaesta 'cifra' za kontrolu, a u gorepomenutom računu vredi kao broj 10. Tako se prave kontrolne cifre (znaci?) za ISBN i ISSN brojeve knjiga i časopisa (što je deljeno davno pre računara, struktuirano je i šifre se dele distribuirano, tj. svaki izdavač za sebe, a ne centralizovano). U situaciji da se neki postojeći šifarnik (cifarski) treba naknadno dopuniti kontrolnom cifrom, prihvatljivo je rešenje sa 'X' ali nije toliko efikasno za kucanje (numerička tastatura). Izbor da se umesto 'X' koristi neka cifra (recimo 0) nije dobar. U tom slučaju se može desiti da se ne registruje šifra gde je pogrešeno u kucanju samo jedne cifre. Naime, sistem je tako napravljen da nepogrešivo otkriva greške u jednom znaku, kao i permutacije dva susedna znaka, a to su statistički najčešće greške. Zamenom 'X' sa nekom cifrom bi se ta osobina izgubila. Možda da se umesto 'X' koristi blanko (kao bez kontrolne cifre)? Kada smo već kod matičnih brojeva. Video sam i jedan pogrešno dat. Naime, pri upisu je kao datum rođenja upisan 31.11.neke god. (!!!), i na osnovu njega je osoba dobila svoj 'broj u toku dana' i na kraju kontrolnu cifru. Naknadno je neko uvideo grešku u datumu, vratio se do (pijanog?) službenika i ovaj je ispravio datum rođenja u knjizi i u matičnom broju (ali samo 31 na 30). Kontrolna cifra se naravno ne slaže, ali takav podatak stvarno stoji u matičnoj knjizi! U ovom konkretnom slučaju je bilo moguće staviti drugu kontrolnu cifru, ali da je ispravljen broj upao u one 'nemoguće' kombinacije, morao bi da se menja i broj neposredno pre kontrolne cifre, naravno u opštini koja ni ovu jednostavniju za ispravljanje grešku nije ispravila. Na kraju svega savet: ipak ostavite mogućnost unosa i pogrešnog broja, naravno uz ding-dong i izbor: 'Ispravi' i/ili 'Tako treba!'. Milan
algoritmi.100 snemcev,
Subject: Re: kontrolni brojevi >> Kada smo već kod matičnih brojeva. Video sam i jedan pogrešno dat. Kad smo već kod matičnih brojeva, moja sestra ima matični broj 1811985845001; koliko se ja razumem u matične brojeve, isti je neispravan jer: 18 - dan rođenja 11 - mesec rođenja 985 - godina rođenja 84 - Kikinda 00 - redni broj u toku dana ?!? 1 - kontrolni broj Ima li neko gotovo programče za proveru matičnih brojeva pa da ovom broju proveri makar kontrolnu cifru? žisto da znam ko je pogrešio. PS Izvinjavam se na šumu u temi. O:)
algoritmi.101 evlad,
<> Ima li neko gotovo programče za proveru matičnih brojeva pa da ovom <> broju proveri makar kontrolnu cifru? žisto da znam ko je pogrešio. Navrati do mene ...
algoritmi.102 szdravko,
Moj drug se interesuje za resenje sledeceg problema. On je dosta iskusan po pitanju rasterske grafike, i upoznat je i sa teorijskim i prakticnim algoritmima na tom planu. Medutim, sada ga interesuje problematika transformacije figura u 2D i 3D, i sve vezano za to. U teorijskoj literaturi se o tome malo zna (osim klasicne analiticke geometrije, koja bas i nije primenljiva na racunare). Ovde se poodrazumeva sledece: recimo, na racunaru operacije nad celobrojnim velicinama su za oko red velicine brze od onih nad realnim. Graficki algoritimi koji koriste celobrojne velicine su daleko brzi od onih koji rade sa realnim brojevima. O ovome se jos nesto i zna u domenu rasterske grafike, ali u 2D i 3D dosta slabo. Molio bih sve kolege koji o ovome nesto znaju da nam pruze pomoc u radu (radi se o obrazovnom projektu). Unapred zahvalan SZDRAVKO
algoritmi.103 nlazic,
*> algoritmima na tom planu. Medutim, sada ga interesuje problematika *> transformacije figura u 2D i 3D, i sve vezano za to. U teorijskoj Ja sam dosta radio sa tim stvarima, pa možda mogu pomoći. Reci konkretno šta ti treba, pa da vidimo. Pozdrav, :) Nebojša :)
algoritmi.104 bkaradzic,
;;; Moj drug se interesuje za resenje sledeceg problema. On je dosta iskusan po ;;; pitanju rasterske grafike, i upoznat je i sa teorijskim i prakticnim ;;; algoritmima na tom planu. Medutim, sada ga interesuje problematika ;;; transformacije figura u 2D i 3D, i sve vezano za to. U teorijskoj ;;; literaturi se o tome malo zna (osim klasicne analiticke geometrije, koja ;;; bas i nije primenljiva na racunare). Ovde se poodrazumeva sledece: recimo, ;;; na racunaru operacije nad celobrojnim velicinama su za oko red velicine ;;; brze od onih nad realnim. Graficki algoritimi koji koriste celobrojne ;;; velicine su daleko brzi od onih koji rade sa realnim brojevima. O ovome ;;; se jos nesto i zna u domenu rasterske grafike, ali u 2D i 3D dosta slabo. ;;; Molio bih sve kolege koji o ovome nesto znaju da nam pruze pomoc u radu ;;; (radi se o obrazovnom projektu). Xe, ovo je moja oblast;). Naime, razvio sam ceo 3D system (virtual reality), pa napisi sta ti konkretno treba, koja lova, ... Nudim: Shading models: Flat Shading Gouraud Shading Depth Shading Phong Shading Metal Shading Surface types: Texture Mapping Environment Mapping Na surface type se moze staviti bilo koji shading model! Npr., Phong Shading + Environment Mapping i sl. Za detalje ostavi mi ostavi mail ili pogledaj demo !ex. Demo mozes skinuti sa sledecih BBS-ova: A.C.E (Hyperopia WorldHQ) - +33-1-4588-7548 (dir: 193) Ecstasy (Hyperopia YUHQ) - 022-53-884 (dir: 25) ili sa sezama komandom: ..res re bkaradzic (d;) Demo !ex radi bez QEMM (odnosno EMM386) i ima muziku samo na Gravis Ultrasound-u (uskoro ce biti podrska i za Sound Blaster). fatboy / Hyperopia
algoritmi.105 bkaradzic,
Da li neko ima neke informacije o Real Color Dithering-u (za 256 boja)? Interesuju me modovi u 16.7m (320x200x16.7m) boja ako neko ima neke informacije neka mi okaci na mail.
algoritmi.106 snemcev,
U vezi dejanr-ovog teksta u PC o žiro računu. Prvo, da vidimo šta kaže država po pitanju žiro računa; sledi citat iz "Službenog lista SRJ" broj 57/93, Uputstvo o izmenama i dopunama Uputstva o obliku, sadržini i upotrebi instrumenata platnog prometa za plaćanja u zemlji ──────────────────────────────────────────────────────────────────────── 68. Element - broj računa: upisuje se 18 numeričkih znakova koji sadrže: (1) - broj organizacione jedinice nosioca kod koje se vodi račun (5 znakova); (2) - osnovni račun određen po planu računa nosioca (3 znaka); (3) - namena sredstava (3 znaka), odnosno kontrolni broj (1 znak) za celokupni izraz numeričke oznake računa (sedište, račun, paritja) za poslovne račune (klasa 6); (4) - broj individualne partije, sa kontrolnim brojem za individualnu partiju (idividualna partija 6 znakova + 1 znak kontrolni broj) Kontrolni broj za individualnu partiju izračunava se po modulu 11, tako što se pojedinačne cifre individualne partije na pozicijama 1, 2, 3, 4, 5 i 6 množe s leva u desno, ponderima 0, 1, 2, 3, 4, i 5, zbir tih proizvoda se deli brojem 11, ostatak deljenja oduzima od broja 11 i dobijeni rezultat upisuje kao kontrolni broj (k). Brojevi kod kojih je dobijeni rezultat 11 imaju kontrolni broj nula (0), a brojevi kod kojih je dobijeni rezultat 10 ne mogu se upotrebiti kao broj individualne partije. Kontrolni broj za celokupan izraz numeričke oznake računa izračunava se po modulu 11, tako što se pojedinačne cifre broja za koji se izračunava kontrolni broj množe, s desna u levo, konstantnim ponderima (brojevi: 2, 3, 4...n) i zbir tih proizvoda deli brojem 11, a ostatak deljenja oduzima od broja 11 i dobijeni rezultat upisuje kao kontroni broj. Ako je dobijeni rezultat 10 ili 11, kontrolni broj je 0. ──────────────────────────────────────────────────────────────────────── Šta sve ovo, prevedeno na jezik običnih smrtnika znači? Osnovno je da žiro račun ima strogo propisanu formu i to 99999-999-999-9999999 └───┘ └─┘ └─┘ └─────┘ 1 2 3 4 Svaka od grupa (nazovimo ih "Grupa 1", "Grupa 2", "Grupa 3" i "Grupa 4") je definisana i to: Grupa 1: oznaka filijale SPP (40803, 45500, 46903...) Spisak opština sa brojčanim oznakama i nadležnim organizacionim jedinicama Službe za platni promet je objavljen u "Službenom glasniku Republike Srbije" broj 10/94 Grupa 2: osnovni račun (601, 685, 678, 840...); grubo opisuje vlasnika računa (601-preduzeće, 685-samostalna radnja, 678-udruženje, 840-budžet...); prva cifra se naziva "klasa"; klasa 6 su poslovni računi, sve ostale klase su ne-poslovni računi Grupa 3: a) kod ne-poslovnih računa namena sredstava; kod preduzeća su to bili kojekakvi stambeni fondovi, fondovi zajedničke potrošnje i slično, a kod budžetskih računa je to brojčana oznaka opštine iz pomenutog Spiska opština sa brojčanim oznakama... b) kod poslovnih računa kontrolni broj koji se računa samo za poslovne račune (račune čija grupa 2 počinje cifrom 6) po modulu 11 Grupa 4: individualni broj partije koji nije ništa drugo do običan redni broj otvorenog žiro računa u filijali za svaku grupu računa posebno (601, 603, 685...) kojem je "prilepljena" kontrolna cifra po modulu 11; Primer: 40803-601-2-521725 ──┬── ─┬─ │ ──┬──│ │ │ │ │ └── kontrolni broj po modulu 11 za broj 52172 │ │ │ │ │ │ │ └───── redni broj računa u filijali 40803 u okviru │ │ │ grupe 601 │ │ │ │ │ └───────── kontrolni broj celog žiro računa │ │ │ └──────────── vrsta računa: 601 - preduzeće │ └───────────────── filijala SPP-a "Beograd-Palilula" koja obuhvata opštine Palilula, Grocka, Vračar i Zvezdara Kao što se jasno vidi žiro račun ima DVA kontrolna broja. I jedan i drugi se na sličan način računaju, s da jedan kontroliše ispravnost individualne partije ("Grupa 4" bez poslednje cifre), a drugi je kotrolni broj za "Grupu 1", "Grupu 2" i "Grupu 4". Uputsvo iz "Službenog lista SRJ" broj 57/93 propisuje drugačiji način računanja "kontrolnog broja za celokupan izraz numeričke oznake računa" od onog koji je opisan u PC-u. Ne kažem da izneti algoritam ne daje iste rezultate, ali ipak nije u skladu sa propisima. Nije "vrlo čudna odluka, najblaže rečeno" da se ne računa kontrolni broj ne-poslovne račune (sve klase, osim 6) jer se jednostavno tu već nalaze drugi podaci. Uvođenje kontrolnog broja i za ove račune bi zahtevalo dodavanje još jednog znaka u broj žiro računa, a to bi opet zahtevalo izmenu svih programa u svim filijalama SPP-a što nije nimalo praktično. Ono što je u tekstu nazvano "žiro računom zanatskih radnji i pojedinaca" (kao primer je dato 40811-620-6-16-51-350-123456) nije žiro račun. čiro račun je samo 40811-620-6-16, a sve posle toga niti sme niti se može tretirati kao žiro račun pri upotrebi instrumenata polatnog prometa u zemlji. Deo 16-51-350-123456 je ono što se obično naziva "poziv na broj" i upisuje se u istoimeno polje na instrumentima platnog prometa. Isto ovako se unutar banaka označavaju tekući računi, partije kredita i još gomila drugih stvari, a u okviru preduzeća brojevi faktura koje se plaćaju, brojevi rešenja po kojima se plaća i, uopšte, broj dokumenta po osnovu kojeg se vrši prenos sredstava. Toliko od mene po pitanju žiro računa. Sorry na dugoj poruci.