Консультация № 188395
10.12.2015, 00:30
0.00 руб.
0 1 0
Здравствуйте! У меня возникли сложности с таким вопросом:
нужно перевести программу с паскаль на с или на с++. Благодарю
uses crt;
const n=7; m=7;
var i,j: integer;
U: array [0..m,0..n] of real;
x: array [0..m] of real;
t: array [0..n] of real;
ht,hx,t0,tk,10,1k: real;
begin clrscr;
10:=0;
1k:=1;
hx:=1k/m;
write (' t0= ' ) ; readln(t0);
write (' tk= ' ) ; readln(tk);
ht := (tk-t0) / n;
for i:=0 to m do
begin x [i]:= 10+hx*i;
writeln ('x[' ,i,' ]=',x [i]:2:3);
end;
for j:=0 to n do
begin
t [j]:= t0+ht*j;
writeln ('t[' ,j,' ]=',t [j]:2:3);
end;
for i:=0 to m-1 do
begin
for j:=1 to n-1 do
begin
U[i,j+1] :=U[i,j] +ht* ((1-sqr(x[i+1/2]) * (U[i+1,j]-U[i,j])-(1-sqr(x[i-1/2]) * (U[i,j]- U(i-1,j]))/sqr(hx) ;
write ('U[',i,',',j,'])= ',U[i,j]:2:3,' ');
end;
writeln;
end;
readln;
end.

Обсуждение

давно
Посетитель
7438
7205
10.12.2015, 14:48
общий
Адресаты:
1) Идентификаторы не могут начинаться с цифры!
2) Как вообще понимать такие конструкции?
x[i-1/2] и x[i+1/2]
i - индекс и является целым числом, +/- 1/2 = 0.5 не имеет никакого смысла!
И Паскаль ругается на 1/2 :)
3) Что это вообще за алгоритм? Откуда взялось?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа