Есть ли способ увеличить переменные в Visual C ++ [A1, A2, A3 ....]? - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь собрать решатель судоку, используя визуальную форму C ++ Windows. Поэтому я создал следующий макет, используя несколько текстовых полей, а затем преобразовал их из String в int. Но здесь есть проблема. Как преобразовать 81 переменную из строки в переменную. Image To My Layout

Вот что я сделал

private: System::Void Button1_Click(System::Object^ sender, System::EventArgs^ e) {
        int j[81];
    j[0] = System::Convert::ToInt16(i1->Text);
    j[1] = System::Convert::ToInt16(i2->Text);
    j[2] = System::Convert::ToInt16(i3->Text);
    j[3] = System::Convert::ToInt16(i4->Text);
    j[4] = System::Convert::ToInt16(i5->Text);
    j[5] = System::Convert::ToInt16(i6->Text);
    j[6] = System::Convert::ToInt16(i7->Text);
    j[7] = System::Convert::ToInt16(i8->Text);
    j[8] = System::Convert::ToInt16(i9->Text);


    }

Это тяжелая задача. Я подумал о том, чтобы преобразовать их один за другим и сохранить в массиве для дальнейшего вычисления, но есть 81 текстовое поле.

Есть ли лучший способ сделать это, например, путем увеличения имен переменных, таких как i1, i2, i3 ... in и затем присвоение их массиву

1 Ответ

0 голосов
/ 24 апреля 2020

Может быть, это поможет

int newArr [j.size()]= {}
int counter = 0;  
for (string x : j)
     newArr[counter++] = System::Int16::Parse(x);

Я бы сохранил I1, I2 и т. Д. c в массиве, чтобы им было легче получить доступ вместо i1 = значение, i2 = значение

int counter = 0;
for (int x : newArr)
    i[counter++] = x;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...