Witam! Mam pytanie do Was. W jaki sposób mogę rozwiązać problem tablicy jednowymiarowej w tym programie. Okazuje się, ze w ze w else deklaracja tablicy nie może być zawarta w ifie, bo wtedy wyskakuje brak deklaracji tab. Jednocześnie, każda nowa deklaracja tablicy powoduje, ze zapisuje mi się tylko ostatni elementy, a reszta wykracza, pokazuje nie oczekiwany wynik. Naprzykład, gdy wpisuje 3 elementy
1: 1, 2: 2, 3: 3 wynik w tablicach jest: 1: -842150451, 2: -842150451, 3: 3
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
if(licznik==0)
{
//Pobieranie liczby elementów
n=System::Convert::ToInt32(this->textBox1->Text);
this->textBox1->Text="";
licznik++;
//Zakonczenie pobierania liczby elementów
}
else
{
int *tab = new int [n];
/*
if (licznik==1)
{
// Komunikat Błędu : identifier "tab" is undefined
int *tab = new int [n];
}*/
//Pobieranie elementów
tab[licznik-1]=System::Convert::ToInt32(this->textBox1->Text);
this->textBox1->Text="";
licznik++;
//Zakonczenie Pobierania elementów //
if(licznik==4 )
{
//Wynik w tablicach
this->textBox3->Text=System::Convert::ToString(tab[0]);
this->textBox4->Text=System::Convert::ToString(tab[1]);
this->textBox5->Text=System::Convert::ToString(tab[2]);
}
....
Przydatne info:
a) licznik w konstruktorze ma już od górnie wartość 0
b) Program pisany jest w Visual Studio 2012 Ultimate
c) Jest to fragment aplikacji okienkowej