Тема: помогите
Показать сообщение отдельно
  #7  
Старый 14.06.2012, 03:39
MiraLaklamon MiraLaklamon вне форума
Новичок
 
Регистрация: 07.06.2012
Сообщения: 59
Версия Delphi: 6, 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Светка Іванюк
эти вещи я могу изменить, при нажатой кнопки, которая вычисляет первый элемент выводит странно, прошу посмотрите, если вам не трудно.
Ошибка у тебя в этом месте:
Код:
    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;
Ответить с цитированием