我正在尝试使用可视C ++ Windows窗体构建Sudoku求解器。因此,我使用多个文本框创建了以下布局,然后将其从String转换为int。但这是问题所在。如何将81个变量从String转换为变量。
这是我所做的
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然后将它们分配给数组
也许这会有所帮助
int newArr [j.size()]= {}
int counter = 0;
for (string x : j)
newArr[counter++] = System::Int16::Parse(x);
我将I1,I2等存储在一个数组中只是为了使它们更容易访问,而不是i1 = value,i2 = value
int counter = 0;
for (int x : newArr)
i[counter++] = x;