в if, что энтером отделен, нужно вписать else. помогите пожалуйста, а то что-то ничего на ум не приходит.
program lab5; uses crt; const n=10; m=10; var a,b:array [1..n,1..m] of longint; c:array [1..n] of longint; i,j,k:integer; max,f:longint; begin clrscr; randomize; for i:=1 to n do begin f:=1; for j:=1 to m do begin if i=j then f:=1 else
if j>i then f:=f*abs(j-i) else
a[i,j]:=(-1)*(100-f); write(a[i,j]:7); end; writeln; end; writeln; max:=a[1,1]; for j:=1 to m do begin for i:=1 to n do if a[i,j]>max then max:=a[i,j]; write(max:7); max:=a[1,1]; end; writeln; writeln; for i:=1 to n do begin for j:=1 to m do begin b[i,j]:=a[n+1-i,n+1-j]; write(b[i,j]:7); end; writeln; end; repeat until keypressed; end.
volvo
18.05.2007 0:29
Так у тебя уже есть там Else... Куда еще поставить-то надо, уточни...
Diablo
18.05.2007 0:32
если j<i. не пойму что будет результатом.
...for j:=1 to m do begin if i=j then f:=1 else if j>i then f:=f*abs(j-i) else__________;
a[i,j]:=(-1)*(100-f); write(a[i,j]:7); end...
volvo
18.05.2007 0:37
Так вот и будет результатом нижняя строка... Делал бы форматирование текста, все было бы видно:
for j:=1 to m do begin
if i=j then f:=1 else if j>i then f:=f*abs(j-i) else a[i,j]:=(-1)*(100-f);
write(a[i,j]:7); end;
Четвертого варианта не дано, может быть только i = j, j > i или j < i ...
Добавлено через 1 мин. Особенно радует - что условие задачи известное тебе должно быть автоматически известно и нам, правда?
Diablo
18.05.2007 0:44
нужно было матрицу задать по формуле a[i,j]=(100-lj-il!)*(-1) извини, но по твоему если i>j, то тогда факториал будет равен 1?
for j:=1 to m do begin
if i=j then f:=1 else if j>i then f:=f*abs(j-i) else a[i,j]:=(-1)*(100-f);
write(a[i,j]:7); end;
volvo
18.05.2007 0:56
А при чем здесь по-моему? Ты полностью ЗАДАНИЕ приведи, как тебе его дали, а не "типа, тут это надо было..."
Я, понимаешь ли, не вижу сквозь несколько тысяч километров, и через экран читать еще не научился... Я просто показал тебе, как компилятор воспринимает твою программу...
мисс_граффити
18.05.2007 0:58
Diablo, вообще-то, это по-твоему )) а так - какая разница, что больше - i или j? надо делать
if i=j then... else...
и все
volvo
18.05.2007 1:01
А если задание у тебя такое как ты показал, на что тебе эти if-ы тогда?
for i:=1 to n do begin for j:=1 to m do begin
f := 1; for k := 1 to abs(j - i) do f:=f*k; { <--- Вот тебе вычисление факториала } a[i,j]:=(-1)*(100-f);
write(a[i,j]:7); end; writeln; end;
Diablo
18.05.2007 1:50
знаешь в чем вся штука? я целый день доказывал своему преподу, что никаких условий кроме равенства i=j здесь не нужно. что модуль, он и в африке модуль, а потому разницы нету, что больше i или же j. но все равно, спасибо что выделил время.
Skala_net
18.05.2007 2:06
Цитата(Diablo @ 17.05.2007 22:50)
знаешь в чем вся штука? я целый день доказывал своему преподу, что никаких условий кроме равенства i=j здесь не нужно. что модуль, он и в африке модуль, а потому разницы нету, что больше i или же j. но все равно, спасибо что выделил время.
ты пол дня пива пил, как ты мог доказывать что то.
Diablo
18.05.2007 17:37
закрыть тему
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.