Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Ehtolauseongelma

tkok [16.05.2008 14:50:14]

#

Palikka funktio sisältää seuraavaa:

void Palikka(int pala, int suunta)
{
  int palasuunta;
  palasuunta = pala*10 + suunta;

  if(palasuunta==11){ P={{0,1,0,0,0},{0,1,0,0,0},{0,1,1,0,0},{0,0,0,0,0},{0,0,0,0,0}};}
  if(palasuunta==12){ P={{0,0,1,0,0},{1,1,1,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};}
  if(palasuunta==13){ P={{1,1,0,0,0},{0,1,0,0,0},{0,1,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};}
  if(palasuunta==14){ P={{0,0,0,0,0},{1,1,1,0,0},{1,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};}

}

heittää erroria jokaiselle if riville että:
error: expected primary-expression before '{' token
error: ';' before'{' token

eli puuttuuko jostain välistä ; kun en mllään keksi mihin se tulee lykätä

Mod. lisäsi kooditagit

TsaTsaTsaa [16.05.2008 14:58:43]

#

Mikäs tuo P on? Globaali kokonaislukutaulukko? Taulukkoon sijoitus ei taida tuolla tavalla onnistua.

tkok [16.05.2008 15:04:45]

#

P on globaali int taulukko

edit:

hassu c++ opas kertoo että:

{
	//int taulukko[2][3] = {1, 2, 3, 4, 5, 6};
	int taulukko[2][3] = { {1, 2, 3},
			       {4, 5, 6} };

niin mites toi sitten tehdään jos se taulukko on jo aikaisemmin määritelty eli pitääkö laittaa joku aloitus kohta noille muuttujille tai jotain?

edit2:

teen sit niin että teen jokaisesta alussa jo oman taulukon niin ei toi taulukkoon sijoittelu mee liian vaikeeks niin pitäis toimii

Mod. lisäsi kooditagit, voisit opetella jo itsekin vähitellen.

TsaTsaTsaa [16.05.2008 16:18:41]

#

Tai voit tehdä näinkin väliakaismuuttujaa apuna käyttäen:

if(palasuunta==11) {
  int tmp[] = {{0,1,0,0,0},{0,1,0,0,0},{0,1,1,0,0},{0,0,0,0,0},{0,0,0,0,0}};
  P = tmp;
}

Tietystihän se on tehokkaampaa jos ne on jo valmiiksi luotu ohjelman alussa ja sitten vain haetaan aina oikea.

Vastaus

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

Tietoa sivustosta