Tyhmät kysymykset (I/2010)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
Jonhu
Active Member
Posts: 186
Joined: Mon Aug 04, 2008 5:45 pm

Re: Tyhmät kysymykset (I/2010)

Post by Jonhu »

DJ-Nerd wrote:Mites muuten noita alkulukuja generoidaan CB:llä (tai C# :lla)?

OK, algoritmi löytynee melko helposti Googlesta, mutta entäs kun halutaankin ikuinen prosessointi? Ei riitä muuttujien tila kun tullaan tiettyyn pisteeseen (intin 2^32-1 ja ulongin 2^64-1 jos oikein käsitin). Miten yhdistelen int :jä (tai C# :n ulong :ja) toisiinsa saamalla äärettömän pitkän numeerisen muuttujatilan (siihen asti ääretön kun muistia riittää myllyssä, tosin olisi tiedostoonkin kiva noita lukuja tallennella prosessoroinnin välissä).

CB:n mahdollisuudet loppuvat todennäköisesti kumminkin nopeammin kun esim. C# :n, joten C# -esimerkkikin käy aivan loistavasti (toisaalta en C++ tai C-esimerkistäkään pahastu).
EDIT:

Älkääkä vaan sanoko että muistipaloja pitäisi jotenkin osata hyödyntää :D :) ;)

Yksinkertainen alkulukujen generoija Eratostheneen_seulalla

Code: Select all

// http://fi.wikipedia.org/wiki/Eratostheneen_seula

Type LUVUT
    Field nro%
EndType

Const TAULU_SIZE = 1000

// alustus 
For a=2 To TAULU_SIZE
    aa.LUVUT = New( LUVUT )
    aa\nro = a
Next a


// Eratostheneen_seula

kierros% = 0
bb.LUVUT = First( LUVUT )
For aa.LUVUT = Each LUVUT
    
    bb = After(aa)
    While bb <> NULL
        If ( bb\nro Mod aa\nro ) = 0 Then Delete bb 
        bb = After( bb )
    Wend
    
    kierros + 1 
    If kierros > Sqrt(TAULU_SIZE) Then Exit
Next aa

// tulostetaan jäljellejääneet luvut
For aa.LUVUT = Each LUVUT
    n+1                     
    If ( n Mod 9 ) = 0 Then y+12 //uusi rivi tarvittaessa..
    Locate (n Mod 9) * 50, y
    AddText ""+aa\nro
Next aa

DrawScreen
WaitKey
Kun muuttujasta loppuu tila kesken, niin täytyy tehdä oma numerosysteemi, jolla tallentaa numeroita muistiin paloissa eli pistää isot luvut osissa taulukkoon ja sitten tekee omat funktiot taulukon lukujen yhteen, vähennys, yms laskuihin...
Tekeillä pikkupelejä ja ohjelmia :)
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by SPuntte »

Vieras wrote:
DJ-Nerd wrote:Miten yhdistelen int :jä (tai C# :n ulong :ja) toisiinsa saamalla äärettömän pitkän numeerisen muuttujatilan (siihen asti ääretön kun muistia riittää myllyssä, tosin olisi tiedostoonkin kiva noita lukuja tallennella prosessoroinnin välissä).
Sä et yhdistelekään. Paras idea olisi varmaan C:n (Ja vain C:n, C++ ei tue!) long long unsigned int, joka on aina vähintään 64-bittinen.
NOT.

Jos oikeasti meinaa laskea järkyttävän suuria alkulukuja, ei mitkään vakiotietotyypit kelpaa. En ole mikään asiaan vihkiytynyt ex-pertti, mutta muun kokemukseni perusteella voin sanoa, että tarvitaan vain dynaamisen muistipötköjen hallinta mielivaltaisen suurten lukujen tallennukseen ja näillä muistipötköillä operoiva aritmetiikka.

Ettei asia menisi vielä liian helpoksi, tietokone käyttää kymmenjärjestelmän sijasta binäärijärjestelmää, joka ei meille ihmisille ole erityisen käytännöllinen. Itse toteuttaisin homman niin, että aritmetiikka operoi raa'alla binääridatalla (muistin peräkkäisillä biteillä) ja muunnos kymmenjärjestelmään tehdään vain, kun ohjelmalta halutaan jotain (t)ulostetta. Näin laskennasta tulee todennäköisesti huomattavasti tehokkaampaa ja oman aritmetiikankin kirjoittaminen on helpompaa, kunhan vain ensin saa käännettyä aivonsa binääriasentoon :]
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES

CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

perskeles! no ei noi muut oo niin pahoja, paitsi miten tuota dataa kirjoitetaan, luetaan ja minne? ja häh? pitääkö mun koodata oma "bittimatikka"?!?
User avatar
Nameless_One
Member
Posts: 63
Joined: Fri Mar 26, 2010 4:05 pm

Re: Tyhmät kysymykset (I/2010)

Post by Nameless_One »

Mitenkä saa CoolBasicissä ruudulle sellaista tekstiä, joka käyttäytyy "normaalisti" kuten DOSsissa tai notepadissa, eli scrollaa ylöspäin kun lisätään rivejä yms?
Ainoat tekstikomennot, jotka tiedän laittaa ruudulle paikallaan pysyvää tekstiä, joka käyttäytyy kuin kuva.
Projektit:
Semmonen jännä tasoloikka

Youtube-kanavani
Uusin video: Pelataas LoZ Oracle of Seasons - Osa 14 - Tarm Rauniot
User avatar
Knoy
Active Member
Posts: 187
Joined: Fri Feb 12, 2010 10:50 pm

Re: Tyhmät kysymykset (I/2010)

Post by Knoy »

Teet vaikka Dim Teksti(99) (sata riviä tekstiä)

For i = Kek to Kek+10
Text 0,15*Lo,Teksti(i)
Lo+1
Next i

Kek=Max(Min(Kek+MouseMoveZ(),100),0)
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: Tyhmät kysymykset (I/2010)

Post by MaGetzUb »

Nameless_One wrote:Mitenkä saa CoolBasicissä ruudulle sellaista tekstiä, joka käyttäytyy "normaalisti" kuten DOSsissa tai notepadissa, eli scrollaa ylöspäin kun lisätään rivejä yms?
Ainoat tekstikomennot, jotka tiedän laittaa ruudulle paikallaan pysyvää tekstiä, joka käyttäytyy kuin kuva.
Print on yksi tämmöinen komentorivi tekstijärjestelmä, mutta sinuna käyttäisin Addtextiä. Ja dossi fontin saat kun lataat fontin Fixedsys.

Code: Select all

font = LoadFont("Fixedsys",15)
SetFont font
AddText "Blah blah blah"
AddText "Blah blah blah"
AddText "Maybe this is not your first program."
AddText "Still, Hello world!"
DrawScreen
Waitkey
EDIT:

Knoy wrote:Teet vaikka Dim Teksti(99) (sata riviä tekstiä)

For i = Kek to Kek+10
Text 0,15*Lo,Teksti(i)
Lo+1
Next i

Kek=Max(Min(Kek+MouseMoveZ(),100),0)
Miksi näin? Tämähän menee vaikka tällaisenaan:

Code: Select all

Dim Teksti(100) As String
For i = Kek to Kek+10
Text 0,TextHeight("|")*i,Teksti(i)
Next i
DrawScreen
Waitkey
[/edit]
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2010)

Post by Latexi95 »

DJ-Nerd wrote:perskeles! no ei noi muut oo niin pahoja, paitsi miten tuota dataa kirjoitetaan, luetaan ja minne? ja häh? pitääkö mun koodata oma "bittimatikka"?!?
Kyllä, jos haluat yli 64 bittisiä lukuja. Joten suosittelen pysymään siinä.
Mutta miksi alkulukujen generointi pitää tehdä niin hankalasti?
Tuossa oma generointi systeemini cb koodina

Code: Select all

Function GetPrime(num as Integer) //num = monesko alkuluku palautetaan
if num = 1 then
    return 2
elseif num = 2
    return 3
elseif (num Mod 2) = 1 then
    return (num-3)*6+5
else
    return (num-3)*6+1
endif
EndFunction
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset (I/2010)

Post by axu »

buke44 wrote:
axu wrote:
buke44 wrote:Onko kukaan tehny funktiota millä sais leikepöydälle kopioidun tekstin muuttujaan?
Muistaakseni cbSDK:ssa oli tälläinen funktio cbAPIn kohdalla ;)
En saanut tota toimimaan. Palauttaa aina tekstinä neliöitä, tai numeroina nollan.
Tämä palauttaa aina 2.

Code: Select all

Include "cbAPI.cb"
a$=GetClipboardText$()

Repeat

Text 1, 1, Asc (a)
DrawScreen 
Forever 
Tähänhän on yksinkertainen syy: GetClipBoardText palauttaa leikepöydällä olevan tekstin, mutta sinä yrität muuttaa sen ASCII koodiksi Asc-komennolla. Eli kokeileppa muuttaa "Asc(a)" => "a". Ja jos haluat sen päivittyvän aina kun leikepöydän sisältö muuttuu, siirrä tuo toinen rivi loopin sisälle, eli:

Code: Select all

Include "cbAPI.cb"
Dim a$
Repeat
    a = GetClipboardText$()
    Text 1, 1, a
    DrawScreen 
Forever 
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
Dande
Active Member
Posts: 193
Joined: Tue Aug 28, 2007 4:30 pm

Re: Tyhmät kysymykset (I/2010)

Post by Dande »

Latexi95 wrote:Mutta miksi alkulukujen generointi pitää tehdä niin hankalasti?
Tuossa oma generointi systeemini cb koodina

Code: Select all

Function GetPrime(num as Integer) //num = monesko alkuluku palautetaan
if num = 1 then
    return 2
elseif num = 2
    return 3
elseif (num Mod 2) = 1 then
    return (num-3)*6+5
else
    return (num-3)*6+1
endif
EndFunction
WRONG!
On kylläkin totta, että kaikki kolmosta suuremmat alkuluvut ovat muotoa 6n+1 tai 6n+5, mutta se ei tarkoita, että kaikki kyseiset luvut olisivat alkulukuja. Esimerkeiksi käynevät vaikkapa luvut 35 (=5*6+5=7*5) ja 49 (=8*6+1=7*7)
User avatar
Knoy
Active Member
Posts: 187
Joined: Fri Feb 12, 2010 10:50 pm

Re: Tyhmät kysymykset (I/2010)

Post by Knoy »

MaGetzUb wrote:
EDIT:

Knoy wrote:Teet vaikka Dim Teksti(99) (sata riviä tekstiä)

For i = Kek to Kek+10
Text 0,15*Lo,Teksti(i)
Lo+1
Next i

Kek=Max(Min(Kek+MouseMoveZ(),100),0)
Miksi näin? Tämähän menee vaikka tällaisenaan:

Code: Select all

Dim Teksti(100) As String
For i = Kek to Kek+10
Text 0,TextHeight("|")*i,Teksti(i)
Next i
DrawScreen
Waitkey
[/edit]
Tuolla Kek=... jutulla voi scrollata tekstiä hiiren rullalla....
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

Latexi95 wrote:
DJ-Nerd wrote:perskeles! no ei noi muut oo niin pahoja, paitsi miten tuota dataa kirjoitetaan, luetaan ja minne? ja häh? pitääkö mun koodata oma "bittimatikka"?!?
Kyllä, jos haluat yli 64 bittisiä lukuja. Joten suosittelen pysymään siinä.
Mutta miksi alkulukujen generointi pitää tehdä niin hankalasti?
Tuossa oma generointi systeemini cb koodina

Code: Select all

Function GetPrime(num as Integer) //num = monesko alkuluku palautetaan
if num = 1 then
    return 2
elseif num = 2
    return 3
elseif (num Mod 2) = 1 then
    return (num-3)*6+5
else
    return (num-3)*6+1
endif
EndFunction
Upeaa, mutta jos mietitään keinoa laskea esim. 1000-numeroisia alkulukuja...
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by valscion »

DJ-Nerd wrote:Upeaa, mutta jos mietitään keinoa laskea esim. 1000-numeroisia alkulukuja...
Katsos tarkemmin Latexin viestiä.
Latexi95 wrote:
DJ-Nerd wrote:perskeles! no ei noi muut oo niin pahoja, paitsi miten tuota dataa kirjoitetaan, luetaan ja minne? ja häh? pitääkö mun koodata oma "bittimatikka"?!?
Kyllä, jos haluat yli 64 bittisiä lukuja. Joten suosittelen pysymään siinä.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

VesQ wrote:
DJ-Nerd wrote:Upeaa, mutta jos mietitään keinoa laskea esim. 1000-numeroisia alkulukuja...
Latexi95 wrote:
DJ-Nerd wrote:perskeles! no ei noi muut oo niin pahoja, paitsi miten tuota dataa kirjoitetaan, luetaan ja minne? ja häh? pitääkö mun koodata oma "bittimatikka"?!?
Kyllä, jos haluat yli 64 bittisiä lukuja. Joten suosittelen pysymään siinä.
Katsos tarkemmin Latexin viestiä.
Viisastelija! ehkä huomasin sen itekkin jo ajat sitten!
Ihmettelin vain latexin lausumaa "suosittelen pysymään siinä..." -juttua kun olen nimen omaan sanonut että tarvitsisin paaaaaljon isomman tietotyypin. Hah! Melkein arvasin että kun kirjoitan viestejä PSP:llä niin VesQ tulee ja "korjaa" viestini. Anteeksi nyt sitten jos et ymmärtänyt...
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2010)

Post by Latexi95 »

Dande wrote: WRONG!
On kylläkin totta, että kaikki kolmosta suuremmat alkuluvut ovat muotoa 6n+1 tai 6n+5, mutta se ei tarkoita, että kaikki kyseiset luvut olisivat alkulukuja. Esimerkeiksi käynevät vaikkapa luvut 35 (=5*6+5=7*5) ja 49 (=8*6+1=7*7)
Tuo on totta. Kiitos korjauksesta.
DJ-Nerd wrote: Viisastelija! ehkä huomasin sen itekkin jo ajat sitten!
Ihmettelin vain latexin lausumaa "suosittelen pysymään siinä..." -juttua kun olen nimen omaan sanonut että tarvitsisin paaaaaljon isomman tietotyypin. Hah! Melkein arvasin että kun kirjoitan viestejä PSP:llä niin VesQ tulee ja "korjaa" viestini. Anteeksi nyt sitten jos et ymmärtänyt..
Yritin viitata siinä "64 bittisiin kokonaislukuihin", mutta lause oli kieltämättä hieman epäselvä.
Jos haluaisit päästä lukuun 10^1000 (ykkönen ja 1000 nollaa) tarvitset 3322 bittisen etumerkittömän kokonaisluvun. Että siitä vaan int3322 tietotyyppiä väsäämään. :lol:
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: Tyhmät kysymykset (I/2010)

Post by KilledWhale »

Jos oikeasti haluaa isoja lukuja käyttää niin pythonissa ne ovat oletuksena rajattomat ja C/C++lle löytyy esimerkiksi GMP, joka sisältää valmiita funktioita mm. alkulukujen generoimiseen. Perus +- luokan isoja numeroita varten toteuttaa muutamassa minuutissa vaikka laittamalla jonoon 32-bittisiä lukuja joista jokaiseen laittaa korkeintaan 9 merkkiä jolloin voi vain laskea jakojäännöksillä eikä tulostusta varten tarvitse sählätä lisää laskujen kanssa. Alkulukuuden testaaminen onnistuu helposti esim. Miller-Rabinin testillä, mutta jos niitä haluaa etsiä paljon ja nopeasti on olemassa muutama muukin seula, kuten Sundaramin ja Atkinin seulat, joista molemmat ovat erastothenestä nopeampi.
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2010)

Post by Latexi95 »

KilledWhale wrote:Jos oikeasti haluaa isoja lukuja käyttää niin pythonissa ne ovat oletuksena rajattomat ja C/C++lle löytyy esimerkiksi GMP, joka sisältää valmiita funktioita mm. alkulukujen generoimiseen. Perus +- luokan isoja numeroita varten toteuttaa muutamassa minuutissa vaikka laittamalla jonoon 32-bittisiä lukuja joista jokaiseen laittaa korkeintaan 9 merkkiä jolloin voi vain laskea jakojäännöksillä eikä tulostusta varten tarvitse sählätä lisää laskujen kanssa. Alkulukuuden testaaminen onnistuu helposti esim. Miller-Rabinin testillä, mutta jos niitä haluaa etsiä paljon ja nopeasti on olemassa muutama muukin seula, kuten Sundaramin ja Atkinin seulat, joista molemmat ovat erastothenestä nopeampi.
Kiinnostuin aiheesta ja googletin myös C#:lle tosisuurten kokonaislukujen kirjaston. http://www.codeproject.com/KB/cs/biginteger.aspx
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by SPuntte »

Latexi95 wrote:
DJ-Nerd wrote: Viisastelija! ehkä huomasin sen itekkin jo ajat sitten!
Ihmettelin vain latexin lausumaa "suosittelen pysymään siinä..." -juttua kun olen nimen omaan sanonut että tarvitsisin paaaaaljon isomman tietotyypin. Hah! Melkein arvasin että kun kirjoitan viestejä PSP:llä niin VesQ tulee ja "korjaa" viestini. Anteeksi nyt sitten jos et ymmärtänyt..
Yritin viitata siinä "64 bittisiin kokonaislukuihin", mutta lause oli kieltämättä hieman epäselvä.
Jos haluaisit päästä lukuun 10^1000 (ykkönen ja 1000 nollaa) tarvitset 3322 bittisen etumerkittömän kokonaisluvun. Että siitä vaan int3322 tietotyyppiä väsäämään. :lol:
Lapset, lapset...

Tämän pitäisi onnistua verrattain helpostikin CB:llä, kun käyttää tyyppejä ja muistipaloja.

Helpoin ja ihmiselle havainnollisin tapa on tallentaa yksittäinen kymmenjärjestelmän numero pienimpään toiminnalliseen tietotyyppiin, tavuun. Tosin tässä hyödynnetään vain 10/256 tavun potentiaalisesta tallennustilasta. Kun tavut säilötään muistipalaan, ja niihin viitataan kokonaislukuindeksillä, on suoraan mahdollista tallentaa 2147483647-numeroinen kymmenjärjestelmän etumerkitön kokonaisluku. (2147483647 on 32-bittisen etumerkillisen kokonaisluvun suurin mahdollinen arvo)

Suuret kokonaisluvut kannattaa wrapata tyyppi-instanssin sisään, jonka kenttinä ovat em. muistipala, jossa itse luku sijaitsee, sekä kokonaisluku, joka kertoo luvun numeroiden määrän.

Tämän jälkeen täytyy vain kirjoittaa funktiot, jotka toteuttavat kuvatulle tietotyypille ala-asteelta tutun aritmetiikan. Siis allekkain yhteen-, vähennys- ja kertolaskun sekä jakokulmassa jaon. Jakokulmassa jako tuottaa lisäksi jakojäännöksen, joten kaikki alkulukujen listaamiseen tarvittavat operaatiot pitäisi olla käsillä.

Vähän lisää haastetta saa, kun toteuttaa numeroiden tallennuksen ja aritmetiikan binääri/heksadesimaalijärjestelmässä, jolloin muistinkulutus on paremmin hanskassa. Tosin CB:ssä ei ole kaikkia bitinnypläykseen tarkoitettuja virkkuukoukkuja, joten homma voi mennä vähän tehottomaksi. Sama menetelmä on sovellettavissa myös desimaalilukuihin ja vaikkapa piin laskentaan.
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES

CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2010)

Post by Latexi95 »

Voisi tuosta jossain vaiheessa väsätä cb:lle rajattoman kokoisten kokonaislukujen hallinta kirjaston. Ongelma vain on, että mihin käyttää sitä. :lol:
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: Tyhmät kysymykset (I/2010)

Post by KilledWhale »

Latexi95 wrote:Voisi tuosta jossain vaiheessa väsätä cb:lle rajattoman kokoisten kokonaislukujen hallinta kirjaston. Ongelma vain on, että mihin käyttää sitä. :lol:
Minulla olisi tuollainen jo valmiiksi rakennettuna. Voisin ehkä heittää nuo (bugiset) sorsat tänne jos muistan joku päivä :)
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

Latexi95 wrote:Voisi tuosta jossain vaiheessa väsätä cb:lle rajattoman kokoisten kokonaislukujen hallinta kirjaston...
Tarkoitatko jotain tämäntyyppistä? (tein tässä rajattomien kokonaislukujen yhteenlaskuhomman)

Code: Select all

SCREEN 1300,100
lukujenmäärä=100
vastaus$=""
Dim luku1(lukujenmäärä)
For i=1 To lukujenmäärä
    luku1(i)=Rand(0,9)
    Text 1100-(8*i),0, ""+luku1(i)
Next i
Text 0,20,"+"
Dim luku2(lukujenmäärä)
For i=1 To lukujenmäärä
    luku2(i)=Rand(0,9)
    Text 1100-(8*i),20,""+luku2(i)
Next i
Text 0,40,"="
o=0
lisää=0
For i=1 To lukujenmäärä
    If lisää > 0 Then luku1(i) = luku1(i) +lisää : lisää=0 : o +1
    If luku1(i)+luku2(i) >9 Then
        lisää=RoundDown((luku1(i)+luku2(i))/10)
        vastaus=""+(luku1(i)+luku2(i)-(lisää*10))+""+vastaus
    Else
        vastaus=""+(luku1(i)+luku2(i))+""+vastaus
    EndIf
    o +1
Next i
hd=1100-16-Len(vastaus)*8
Text hd,40, "= "+vastaus
DrawScreen
WaitKey
EDIT:

Taisit kuitenkin tarkoittaa uuden tietotyypin (esim "infinitedInteger") käyttöön tarvittavia juttuja etkä vain yksinkertaista algebraa niille...?

Last edited by DJ-Filbe on Wed May 26, 2010 3:47 pm, edited 1 time in total.
Locked