в 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:=1to n dobegin
f:=1;
for j:=1to m dobeginif i=j then f:=1elseif 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:=1to m dobeginfor i:=1to n doif a[i,j]>max then max:=a[i,j];
write(max:7);
max:=a[1,1];
end;
writeln;
writeln;
for i:=1to n dobeginfor j:=1to m dobegin
b[i,j]:=a[n+1-i,n+1-j];
write(b[i,j]:7);
end;
writeln;
end;
repeatuntil keypressed;
end.
volvo
17.05.2007 20:29
Так у тебя уже есть там Else... Куда еще поставить-то надо, уточни...
Diablo
17.05.2007 20: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
17.05.2007 20:37
Так вот и будет результатом нижняя строка... Делал бы форматирование текста, все было бы видно:
for j:=1to m dobeginif i=j then f:=1elseif 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
17.05.2007 20:44
нужно было матрицу задать по формуле a[i,j]=(100-lj-il!)*(-1) извини, но по твоему если i>j, то тогда факториал будет равен 1?
for j:=1to m dobeginif i=j then f:=1elseif j>i then f:=f*abs(j-i)
else a[i,j]:=(-1)*(100-f);
write(a[i,j]:7);
end;
volvo
17.05.2007 20:56
А при чем здесь по-моему? Ты полностью ЗАДАНИЕ приведи, как тебе его дали, а не "типа, тут это надо было..."
Я, понимаешь ли, не вижу сквозь несколько тысяч километров, и через экран читать еще не научился... Я просто показал тебе, как компилятор воспринимает твою программу...
мисс_граффити
17.05.2007 20:58
Diablo, вообще-то, это по-твоему )) а так - какая разница, что больше - i или j? надо делать
if i=j then...
else...
и все
volvo
17.05.2007 21:01
А если задание у тебя такое как ты показал, на что тебе эти if-ы тогда?
for i:=1to n dobeginfor j:=1to m dobegin
f := 1;
for k := 1to abs(j - i) do f:=f*k; { <--- Вот тебе вычисление факториала }
a[i,j]:=(-1)*(100-f);
write(a[i,j]:7);
end;
writeln;
end;
Diablo
17.05.2007 21:50
знаешь в чем вся штука? я целый день доказывал своему преподу, что никаких условий кроме равенства i=j здесь не нужно. что модуль, он и в африке модуль, а потому разницы нету, что больше i или же j. но все равно, спасибо что выделил время.
Skala_net
17.05.2007 22:06
Цитата(Diablo @ 17.05.2007 22:50)
знаешь в чем вся штука? я целый день доказывал своему преподу, что никаких условий кроме равенства i=j здесь не нужно. что модуль, он и в африке модуль, а потому разницы нету, что больше i или же j. но все равно, спасибо что выделил время.
ты пол дня пива пил, как ты мог доказывать что то.
Diablo
18.05.2007 13:37
закрыть тему
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.