Hei. Pitkällä ollaan, mutta nyt piti palata alkuun, en nimittäin millään ymmärrä miten seuraavan pähkinän saa purettua:
DIM kirjtaulu(10, 10, 10) AS STRING kirjtaulu(1, 1, 1) = "Eka" kirjtaulu(2, 1, 1) = "Toka" kirjtaulu(3, 2, 1) = "Kolm" kirjtaulu(4, 2, 1) = "nelj" kirjtaulu(5, 5, 1) = "viid" FOR a = 1 TO 5 PRINT kirjtaulu(a, 1, 1) NEXT a
Minä kyllä ymmärrän miten saa tallennettua sellaisia taulukoita jossa on vain yksi arvo(a), mutta entä kun noita on kolme(tämä alla oleva malli ei tallenna kaikkea)???
OPEN "tiedosto.txt" FOR OUTPUT AS #1 FOR a = 1 TO 5 WRITE #1, kirjtaulu(a, a, a) NEXT a CLOSE #1
Auttakaa viisaammat:-)
Kai ymmärrät, että koodissasi on nyt 10*10*10 tekstiä eli aika monta.
Näiden käsittelyyn silmukassa pitää tehdä monta silmukkaa sisäkkäin: FOR i, FOR j, FOR k, ja sisällä kirjtaulu(i,j,k).
Voisitko yst. opetella käyttämään kooditageja viesteissäsi, jotta koodeja voisi paremmin lukea?
Hei ja kiitos viestistäsi. Lupaan opetella käyttämään noita kooditageja heti kun tiedän mitä ne ovat:-)
Voisitko tehdä minulle malliksi tällaiset silmukat, niin ymmärrän mistä on kyse.
Toinen seikka missä tarvitsisin neuvoa on se, että itse ohjelmointinäyttö on täysikokoinen ja pienennettävissä, mutta itse ohjelma toimii vain pienessä mustassa ruudussa, enkä tiedä kuinka saisin kokoa kasvatettua.
Kiitos.
Lipton_green kirjoitti:
Voisitko tehdä minulle malliksi tällaiset silmukat, niin ymmärrän mistä on kyse.
FOR i = 1 TO 10 FOR j = 1 TO 10 FOR k = 1 TO 10 IF kirjtaulu(i, j, k) <> "" THEN PRINT i, j, k, kirjtaulu(i, j, k) NEXT k NEXT j NEXT i
Lipton_green kirjoitti:
Lupaan opetella käyttämään noita kooditageja heti kun tiedän mitä ne ovat:-)
Jos katsot tarkkaan, huomaat ehkä tekstilaatikon yläpuolella linkin keskustelun ohjeisiin sekä laatikon, jossa lukee ”Koodi” ja josta voi valita eri ohjelmointikieliä. Ehkä myös näitä viesteissä olevia koodeja katsomalla voit päätellä jotain kooditagien merkityksestä.
Kiitos. Lukeeko tuo silmukkasysteemi kaikki mahdollisuudet tiedostoon. Voisin kuvitella, että se ei tallentaisi esimerkiksi sellaista mahdollisuutta kuin i=3, j=2 ja k=1. Siis luulen taulukon toimivan niin, että tuossa taulukkoavaruudessa on 1000 000 pistettä ja silmukoilla pitäisi tallentaa jokainen piste. Siis en kyllä tiedä asian olevan niin?
Kiitos sinulle vastauksesta. Edelleen kamppailen myös tuon näytön kanssa:-/
Lipton_green kirjoitti:
Voisin kuvitella, että se ei tallentaisi esimerkiksi sellaista mahdollisuutta kuin i=3, j=2 ja k=1.
Millä perusteella kuvittelet niin? Se on väärin kuviteltu. Kaikki 10 * 10 * 10 eli yhteensä 1000 vaihtoehtoa käydään läpi.
Lipton_green kirjoitti:
Siis luulen taulukon toimivan niin, että tuossa taulukkoavaruudessa on 1000 000 pistettä ja silmukoilla pitäisi tallentaa jokainen piste. Siis en kyllä tiedä asian olevan niin?
Jos taulukon koko on (10,10,10) niin silloin siellä on 10x10x10 = 1000 muuttujaa. Miljoona vaatisi jo 100,100,100 dimensioita, joka ei alkuperäisellä QB:llä edes onnistu kun muuttujien max. koko oli 64kt.
Mulla muuten sama ongelma Win7:ssa. En ole saanut koskaan ruutua suurennettua. Ilmeisesti se ei ole mahdollista, vaihda ohjelmaa jos häiritsee. Minulle kelpaa pienelläkin ruudulla.
Mod. huom: ÄLÄ KIRJOITA ISOLLA!!!
Hei ja kiitos kaikille, olette suureksi avuksi. Minä taisin hieman sählätä noitten lukujen kanssa:-) Omassa taulukossani oli lukemat (100,100,100) tähän avunpyyntöön laitoin nuo kympit, sorry. Täytyypä siis kokeilla Metabolixin ideaa,kiitos:-)
Auta sinä minua Q64W7, uskon että tähän näyttöongelmaan on ratkaisu, olen sen jo osittain ratkaissut. Jos kirjoitat kentän alkuun _FULLSCREEN, niin näyttö on iso, mutta ongelmaa se ei korjaa, koska merkkien kokokin kasvaa samassa suhteessa. Ei se ole helppoa tämä tietotekniikka:-D
Lisäys:
Hei Q64W7. Ongelma ratkaistu, vastaus ongelmiimme on:
SCREEN _NEWIMAGE(1440, 835, 256)
Syötä mieleisesi arvot kahteen ensimmäiseen sarakkeeseen (leveys x korkeus)
Vihdoinkin tuo selvisi:-)
QB64:n käyttö varmastikin muuttaa tilannetta aika paljon verrattuna ihan oikeaan DOS-aikakauden QBasiciin tai QuickBASICiin. Kannattaisi kertoa kunnolla alusta asti, millä ohjelmoi.
QB64:ssä voi (dokumentaation mukaan) tallentaa ja lukea kokonaisen taulukon yhdellä kertaa:
DIM taulukko(100) AS INTEGER ' Tallennus: OPEN "taulukko.dat" FOR BINARY AS #1 PUT #1, , taulukko() CLOSE #1 ' Lukeminen: OPEN "taulukko.dat" FOR BINARY AS #2 GET #2, , taulukko() CLOSE #2
En testannut, mutta näin dokumentaatiossa asiaa esitellään.
Toki taulukon tulostus ruudulle vaatii edelleenkin erilaisia silmukoita, kuten edellisessä esimerkissäni.
Mahtavan upeita ohjeita, täytyy kokeilla myös tuota juuri esittämääsi:-)
Lisäys:
Minulla tuo ei onnistu varmaan siitä syystä, että taulukkoni sisältää tällä hetkellä kirjaimia. Voisiko neuvoasi soveltaa myös tekstiin?
Juu, yritän olla tarkempi:-)
Aihe on jo aika vanha, joten et voi enää vastata siihen.