Другие языки программирования и технологии

Помогите исправить программный код на Pascal (индексно-последовательный поиск) вопрос полностью в средине

Медет Улан
Медет Улан
170
Разбираться времени нет, но что-то не нравится ваш код. Во-первых, при чтении из файла лучше сначала инкрементировать индекс, а потом читать. В таком случае не потребуется уменьшать на единицу и n будет содержать количество элементов.

n := 0;
while (not eof(t)) and (n<=kin) do begin
n := n + 1;
readln(t, a[n]);
end;

Во-вторых, как-то странно вы читаете в запись из текстового файла. Попробуйте так, если в строке файла через пробел записаны два числа.

while (not eof(t)) and (n<=kin) do begin
n := n + 1;
readln (t, b[n].k, b[n].i);
end;

В-третьих, в процедуре granici не понятно, откуда взялись переменные i и j, и что там за массив а появился? Ведь а это глобальная константа.

>> и не знаю по поводу глобальных и локальных переменных в процедурах. .
А чего тут знать? Все, объявленное до процедур, видно во всех процедурах, объявленных ниже. Все, объявленное в процедуре видно только в этой процедуре. Поэтому в процедурах вы можете спокойно пользоваться константами а и b.

Это так, навскидку. К сожалению, ответы поломали текст, так что возможно чего-то не заметил или увидел то, чего нет на самом деле.

ЗЫ В процедуре poisk вы обращаетесь к несуществующей процедуре index. Компилятор должен ругнуться на это дело.
...eska... ...moldahan...
...eska... ...moldahan...
59 613
Лучший ответ