вроде написал задачу, но есть ошибки, помогите ПЛИЗ!!!!!!!!!!!!!!!!
program Project4;
{$APPTYPE CONSOLE} type tm=array[1..4,1..5] of integer; mas=array[1..5] of real; var A: tm; B: mas; i: integer; sps: real; procedure vvod(m,n:integer;var x:tm); var i,j: integer; begin writeln('Input Matr'); for i:=1 to m do for j:=1 to n do read(x[i,j]); readln; end;
Procedure Vozr(m : tM;ii : Byte;Var sps:real); var i: integer; begin For i:=1 to 5 do If a[i,ii]<a[i+1,ii] then B[i]:=1 else b[i]:=0; sps:=b[i]; end;
procedure MasOut(n:integer;var p:mas;c:char); var i:integer; begin writeln('results for',c); for i:=1 to n do write(p[i],''); writeln; end; begin vvod(4,5,a); For i := 1 to 5 do begin Vozr(a, i, sps); B[i] := sps; end; MasOut(5,B,'B'); readln; end.
volvo
16.12.2005 20:17
Ты бы само задание-то привел, а то получается "ищи то - не знаю, что..."
sps
16.12.2005 20:27
**На основе матрицы A(4Х5) сформировать одномерный массив В, каждый элемент которого принимает значение 1, если в соответсвующем по номеру столбце матрицы А элементы расположены в порядке возрастания их значений, и значение 0 в противном случае.**
volvo
16.12.2005 20:39
исправь на вот это:
Procedure Vozr(m : tM;ii : Byte;Var sps:real); var i: integer; ok: boolean; begin ok := true; For i:=2 to 5 do ok := ok and (m[i-1,ii]<m[i,ii]); If ok Then sps:=1 else sps := 0; end;
иначе получишь Segmentation Fault при выходе за пределы массива...
NorthAngel
16.12.2005 20:55
эмм.. только зачем одномерный массив делать real, если элементы принимают значения 1 и 0?
Хмм.. вот ты такая придирчивая, а почему тебя не волнует тот факт, что I : INTEGER ? ... погла бы и это спросить ...
Гость
23.12.2005 20:54
процедура все равно считает не правильно!!!!!!! посмотрите ещё раз пожалуйста!!!!!
Код
Procedure Vozr(m : tM;ii : Byte;Var sps:real); var i: integer; flag: boolean; begin flag := true; For i:=2 to 5 do flag := flag and (m[i-1,ii]<m[i,ii]); If flag Then sps:=1 else sps := 0; end;
volvo
23.12.2005 21:07
Вот так лучше?
Procedure Vozr(m : tM;ii : Byte;Var sps:real); var i: integer; ok: boolean; begin ok := true; For i:=1 to 3 do ok := ok and (m[i,ii]<m[i+1,ii]); If ok Then sps:=1 else sps := 0; end;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.