zmienna bool - dziwne wartości

0

Witam,
porównuję ze sobą wartosci w tablicy, w której wcześniej użytkownik nadał jednej komórce wartość liczbową.
używam bool'a, który pokazuje różne wartosći (wg mnie) bez przyczyny:

//tutaj powinien uaktualnic tablice, wiec:
        //najpierw zeruje
        for (int i=0;i<=8;i++)   { tablica[Rzad-1][Kolumna-1][i] = 0; }

        //a potem nadaje wartosc 'num'
        tablica[Rzad-1][Kolumna-1][num-1]=num;

        powtorka=false;
        if (powtorka)  Label1->Caption="true"; else Label1->Caption="false"; //próbne sprawdzanie zmiennej 'powtorka'

//sprawdzamy czy w rzedzie jest już ta cyfra
         for (int i=0;i<=8;i++)
                {
                 if (powtorka)  Label2->Caption="true";  else Label2->Caption="false";  //próbne sprawdzanie zmiennej 'powtorka'
                stan_Tablicy=0;
                for (int j=0;j<=8;j++)
                        {
                        if (tablica[Rzad-1][i][j]!=0) //przelatuje jedna kontrolke i spr czy wyzerowana
                                {
                                stan_Tablicy++; //jesli nie wyzerowana, zwieksza wartosc o 1
                                }
                        }

no właśnie. Label1 pokazuje "false", a już Label2 - "true"
Przeciez nic pomiędzy nimi nie ma!??? gdzie jest moj błąd?

0

ok... wyrzuciłem bool'a... dałem integera przyjmującego wartość 1 lub 0.
teraz działa:))
...ale dlaczego tak się działo? jakie mogły być przyczyny?

0

Zacznijmy od podstaw - w zaprezentowanym kodzie nie ma definicji zmiennej powtorka.
Wrzuć kod do postaci kompilowalnej na https://www.onlinegdb.com/online_c++_compiler

0

w konsoli daje dobre wyniki......

0

Hmmm może coś ten label1 i label2 są niewłaściwie używane? Jakiej klasy są to obiekty?
Testowo zamień może ich ustawiania na ja wiem, MessageBoxa z odpowiednim tekstem?

1 użytkowników online, w tym zalogowanych: 0, gości: 1