Здравствуйте.
Мне нужно написать программу , которая будет уравнивать химическую реакцию.
Соответственно нужно прийти к СЛАУ, по которой и находить коэффициенты реакции.
В этом и состоит сейчас моя проблема.Написанный мною код в C++Builder 6 выдаёт ошибку о типе integer.
Вот собственно код.Надеюсь на какие-то идеи и вашу помощь.
На форме Edit'ы для введения элементов веществ и их индексов с расчетом на 3 вещества в левой части и 4- в правой.А так же-StringGrid для выведения полученной матрицы.
{ char *element[10][2]; int index[10][7]; //==x1==// int x=0; int i=0; AnsiString a; a=Edit1->Text; *element[i]=Edit1->Text.c_str(); index[i][x]=StrToInt(Edit2->Text); a=Edit3->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=StrToInt(Edit4->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=StrToInt(Edit4->Text); }; } a=Edit5->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=StrToInt(Edit6->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=StrToInt(Edit6->Text); }; } //==x1==// //==x2==// x++; a=Edit7->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=StrToInt(Edit8->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=StrToInt(Edit8->Text); }; } a=Edit9->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=StrToInt(Edit10->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=StrToInt(Edit10->Text); }; } a=Edit11->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=StrToInt(Edit12->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=StrToInt(Edit12->Text); }; } //==x2==// //==x3==// x++; a=Edit15->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=StrToInt(Edit16->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=StrToInt(Edit16->Text); }; } a=Edit17->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=StrToInt(Edit18->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=StrToInt(Edit18->Text); }; } a=Edit19->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=StrToInt(Edit20->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=StrToInt(Edit20->Text); }; } //==x3==// //==x4==// x++; a=Edit22->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=-StrToInt(Edit23->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=-StrToInt(Edit23->Text); }; } a=Edit24->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=-StrToInt(Edit25->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=-StrToInt(Edit25->Text); }; } a=Edit26->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=-StrToInt(Edit27->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=-StrToInt(Edit27->Text); }; } //==x4==// //==x5==// x++; a=Edit28->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=-StrToInt(Edit29->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=-StrToInt(Edit29->Text); }; } a=Edit30->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=-StrToInt(Edit31->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=-StrToInt(Edit31->Text); }; } a=Edit32->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=-StrToInt(Edit33->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=-StrToInt(Edit33->Text); }; } //==x5==// //==x6==// x++; a=Edit34->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=-StrToInt(Edit35->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=-StrToInt(Edit35->Text); }; } a=Edit36->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=-StrToInt(Edit37->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=-StrToInt(Edit37->Text); }; } a=Edit38->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=-StrToInt(Edit39->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=-StrToInt(Edit39->Text); }; } //==x6==// //==x7==// x++; a=Edit40->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=-StrToInt(Edit41->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=-StrToInt(Edit41->Text); }; } a=Edit42->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=-StrToInt(Edit43->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=-StrToInt(Edit43->Text); }; } a=Edit44->Text; for (int j=0;j<10;j++) { if (a.c_str()==*element[j]) { index[j][x]=-StrToInt(Edit45->Text); } else { i++; *element[i]=a.c_str(); index[i][x]=-StrToInt(Edit45->Text); }; } //==x7==// for (int i=0;i<10;i++) { for (int j=0;j<7;j++) { StringGrid1->Cells[j][i]=IntToStr(index[i][j]); } } }
Сообщение отредактировано: Tribunal - 4.11.2007 11:08