Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2011, 13:38   #1
Wedzmin
 
Регистрация: 24.02.2011
Сообщений: 3
По умолчанию Ошибки..

ничего не выдает, но считает не правильно
В 62 строчке по непонятным причинам не видит число Hr[t][x+1], хотя по идее оно есть, помогите пожалуйста исправить код.





# include <iostream>
using namespace std;

int main ()
{
system ("chcp 1251");
const float k=0.155; // модель склонового стока
const int tau=2;
const int dt=1;
float Q [15] ;
Q [0] = 10 ;//начальные условия
int X [15] = {220,520,520,320,170,0} ;
int t ;
for ( t=0 ; t<15 ; t++ )
{
Q[t+1] = Q[t] - Q[t]/tau*dt+k*X[t]/tau*dt;
}
cout << "Модель склонового стока \n";
cout << "Номер Осадки Расход \n\n";
for ( t=0 ; t<15 ; t++ )
{
cout << t << "\t" << X[t] << "\t" <<Q[t]<<"\n";
}
const float Km=0.455;//модель водоёма
const float F=19.1;
const int Ql=19;
const int Qp=21;
float Ho [15];
Ho [0]=1;//начальные условия
for ( t=0 ; t<15 ; t++)
{
Ho[t+1] = Ho[t]-Km*Ho[t]*dt+Q[t]+Ql-Qp/F*dt;
}
cout <<"Модель водоёма \n";
cout <<"Время уровень \n\n";
for ( t=0 ; t<15 ; t++ )
{
cout << t << "\t" <<Ho [t]<<"\n";
}
float Hr [15][5];//модель руслового стока
int dx=5000;
const float Hgr=0.955;
const int a=1755;
float q;
const float Kf= 0.141;
int x;
for (x=0 ; x<5 ; x++)//начальнае условия
{
Hr [0][x]=1;
}
for (t=0 ; t<15 ; t++)//граничные условия
Hr [t][0]=Ho[t];
for (t=0;t<14;t++)
{
for (x=0;x<4;x++)
{
if (x=0) q = 0;
if (x=1) q = 0.5;
if (x=2) q = Kf*(Hgr-Hr[t][x+1]);
if (x=3) q = 0;
//cout << Hr[t][xr+1] ;
//system ("pause");
Hr[t+1][x+1]=Hr[t][x+1]-a*(dt/dx)*(Hr[t][x+1]-Hr[t][x])+ q * dt;
}
}
cout << "Модель руслового стока \n";
for ( t=0 ; t<15 ; t++ )
{
cout << t << "\t" ;
for (x=0; x<5; x++)
cout << Hr[t][x]<< "\t";
cout << "\n" ;
}
if (Hr[t][x+4]>3)
cout << " АвАрИяЯяЯЯЯЯ \n\n";
system ("pause");
return 0;
}
Wedzmin вне форума Ответить с цитированием
Старый 17.12.2011, 14:26   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Код:
if (x=0) q = 0;
if (x=1) q = 0.5;
if (x=2) q = Kf*(Hgr-Hr[t][x+1]);
if (x=3) q = 0;
вместо оператора сравнения "==" используется оператор присваивания "=".


ЗЫ оформляй правильно код, пожалуйста. кнопка с решеткой.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VC++ Ошибки sir.andrey Помощь студентам 2 25.07.2011 15:27
Ошибки Flammed Visual C++ 1 23.05.2011 19:03
Ошибки Дим@@ Помощь студентам 0 10.11.2010 21:26
Ошибки Terran Общие вопросы Delphi 3 05.02.2008 20:47