Значит, задача, надо было: Сформировать целочисленный массив A[20], таким образом, что бы элементы массива принадлежали отрезку [-50, 50]. Выполнить в нём линейный поиск введенного с клавиатуры элемента. Отсортировать массив методом вставки. Выполнить бинарный поиск элемента. В общем-то с заданием мне всё понятно, смущает лишь последняя ошибка над которой выносил мозги долгое время. Возникает в * ошибка 3 'неправильный тип', я думаю что из-за d:=(i+j) div 2;
Прошу подскажите я знаю вы тут все добрые .
Цитата
program labasem; uses crt; var a: array[1..20] of integer; i,j,k,x,z,f: integer; nl,nll,d: real; begin randomize; for i:=1 to 20 do a[i]:= random(50)-50; readln(i); while (i<=20) and (a[i]<>x) do inc(i); writeln(a[i]); for i:=2 to 20 do begin z:=a[i]; j:=1; while (z>=a[j]) and (j<i) do inc(j); for k:=i-1 downto j do a[k+1]:=a[k]; a[j]:=z; end; i:=1; j:=20; for f:=1 to 4 do begin d:=(i+j) div 2; d:=round(d); if * a[d]=x then writeln(d); else begin if a[d]>x then i:=d; else j:=d; end; end; readkey; end.
Автор: Ozzя 18.05.2010 13:13
a[d]=x
и
d: real;
Вы шутите? Индекс массива не может быть вещественного типа!