Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: kaksiulotteinen float taulukko

rndprogy [15.09.2004 17:57:44]

#

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?)

Metabolix [15.09.2004 18:06:47]

#

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++;
    }
}

rndprogy [15.09.2004 18:09:30]

#

joo tota määkin aattelin mutten ollut varma.

Marja [17.09.2004 17:12:16]

#

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.)

Metabolix [17.09.2004 18:23:30]

#

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")

Marja [17.09.2004 19:05: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ä. :)

rndprogy [17.09.2004 19:21:38]

#

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.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta