Yritän tallentaa kaksiuloitteiseen float taulukkoon tieto näin:
float X; int v, S; int a, b; float field[1][1]; for (X=-10;X<10;X+=10) { for (b=0;b<3;b++) { for (a=0;a<4;a++) { field[v][S]=X; v++; } S++; } }
Mutta kun tuo erroreeraa ja ei toimi. Eli tällaisia erroreita.
error C2143: syntax error : missing ';' before 'for' error C2143: syntax error : missing ')' before ';' error C2143: syntax error : missing ';' before '<' error C2501: 'X' : missing storage-class or type specifiers error C2371: 'X' : redefinition; different basic types :see declaration of 'X' syntax error : missing ';' before '<' error C2143: syntax error : missing ';' before '+=' error C2501: 'X' : missing storage-class or type specifiers error C2371: 'X' : redefinition; different basic types : see declaration of 'X' error C2143: syntax error : missing ';' before '+=' error C2059: syntax error : ')' error C2143: syntax error : missing ';' before '{' : error C2447: missing function header (old-style formal list?)
Onko tuo varmasti funktion sisällä? Ei tuossa muutakaan näy.
Lisäksi vaikuttaisi, että yrität tunkea tietoa taulukon ulkopuolellekin, koska taulukon kokohan on tuossa nyt 1x1. Se ei kuitenkaan liity mitenkään noihin virheisiin.
Tagi on muuten aika hassusti...
for (X=-10;X<10;X+=10) { for (b=0;b<3;b++) { for (a=0;a<4;a++) { field[v][S]=X; v++; } S++; } }
joo tota määkin aattelin mutten ollut varma.
Ei liity virheisiin, mutta vähän hassusti käytät noita silmukoita niin, ettet sitten käytäkään silmukkamuuttujia missään muussa kuin silmukan pyörittämisessä, vaan kasvatat silmukassa jotain muuta muuttujaa, jolla sitten indeksoit taulukkoa. Pärjäisit vähemmillä muuttujilla ja koodi selkiytyisi, jos käyttäisit silmukkamuuttujia taulukon indeksointiin. (Pitää myös pitää huolta, ettei tosiaan laita tavaraa taulukon ulkopuolelle. Tuossa on niin monta looppia ja muuttujaa, että on vaikea pysyä perässä siinä, että taulukkoa todellakin käytetään oikein.)
Enpä katsonutkaan noin tarkasti...
Tosiaan, on turha olla erikseen b ja S ja a ja v, jos vain kahta noista käytetään. Muutenkin, mitä järkeä on asettaa taulukon kaikkiin kohtiin ensin -10 ja sitten 0 ? (Tuossa ei muuten päästä 10 asti; "X < 10")
Paitsi, että siinä vaiheessa kun eka kierros on tehty, indeksointimuuttujat v ja s huitelevat jo ties missä, eikä niitä koskaan nollata.
Olisi hyvin mielenkiintoista tietää, mitä tuolla silmukalla yritetään tehdä. :)
En käytä tuota koodia enää. Tein sen homman aivan toisella tavalla. Ja nyt kun katsoo tuota koodia, ihmettelen kyllä miten olen tuollaista koodia tehnyt. Olin kai miettinyt liikaa
ratkaisua (varmaan muutaman tunnin putkeen) ja ajatukset meni sekasin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.