Цитата:
Сообщение от Светка Іванюк
эти вещи я могу изменить, при нажатой кнопки, которая вычисляет первый элемент выводит странно, прошу посмотрите, если вам не трудно.
|
Ошибка у тебя в этом месте:
Код:
while not (Eof(f)) do
begin
read(f, a);
if (a.predmet = c) then
begin
n := n + 1;
x[i] := a.b1 + a.b2;
g[i] := a.grupa;
p[i] := a.prizv;
end;
i := i + 1;
end;
Смотри. У тебя переменная
i увеличивается всякий раз при чтении очередной записи, а должна увеличиваться только если название предмета в записи совпадает с искомым (так как переменная
i у тебя отвечает за заполнение массивов с информацией только по искомому предмету, а не по всем).
Вот исправленный вариант:
Код:
while not (Eof(f)) do
begin
read(f, a);
if (a.predmet = c) then
begin
n := n + 1;
x[i] := a.b1 + a.b2;
g[i] := a.grupa;
p[i] := a.prizv;
i := i + 1;
end;
end;