![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Tribunal |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
Здравствуйте.
Мне нужно написать программу , которая будет уравнивать химическую реакцию. Соответственно нужно прийти к СЛАУ, по которой и находить коэффициенты реакции. В этом и состоит сейчас моя проблема.Написанный мною код в C++Builder 6 выдаёт ошибку о типе integer. Вот собственно код.Надеюсь на какие-то идеи и вашу помощь. На форме Edit'ы для введения элементов веществ и их индексов с расчетом на 3 вещества в левой части и 4- в правой.А так же-StringGrid для выведения полученной матрицы.
Сообщение отредактировано: Tribunal - 4.11.2007 11:08 -------------------- irreparabilium felix olivio rerum
|
![]() ![]() |
Tribunal |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 233 Пол: Женский Реальное имя: Dasha Репутация: ![]() ![]() ![]() |
вот переделала код(метод Холецкого) под свою задачу.ругается на деление "/"...
посоветуйте, пожалуйста, что-нибудь?) может что-то еще нужно исправить? посмотрите,пожалуйста... Код int N=curr_line; int t,max,p,s; int b[21]={0}; int x[21]; for (int i=0;i<N;i++) { index[i][N]=b[i];} for (int i=0;i<N;i++) { int max=0; for (int j=0;j<N;j++) { if (max<abs(index[i][j])) { max=abs(index[i][j]); p=j; } } if (p!=i) { for (int j=0;j<N+1;j++) { index[N][j]=index[i][j];} for (int j=0;j<N+1;j++) { index[i][j]=index[p][j]; } for (int j=0;j<N+1;j++) { index[p][j]=index[N][j];} }; } for (int j=0;j<N+1;j++) { index[0][j]=index[0][j]/index[0,0];} for (int m=0;m<N;m++) { for (int i=0;i<N;i++) { s=0; for (int k=0;k<m;k++) { s=s+index[i][k]*index[k][m]; index[i][m]=index[i][m]-s; }; for (int j=m+2;j<N+1;j++) { s=0; for (int k=0;k<m;k++) { s=s+index[m][k]*index[k][j];}; index[m][j]=(index[m][j]-s)/index[m][m]; }; }; x[N-1]=index[N-1][N]; for (int i=N-2;i>=0;i--) { s=0; for (int k=i+1;k>N;k++) { s=s+index[i][k]*x[k];} x[i]=index[i][N]-s; } } и еще вопрос небольшой. может знаете как из формы1 проекта в билдере вызывать форму 2, то етсь делать ее видимой... объявление ее типа не помогает...не пойму как это сделать.. ![]() -------------------- irreparabilium felix olivio rerum
|
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 10:00 |