• Имеется задание и код, немного отличающийся от нужного по заданию. Необходимо отредактировать код.
    Задание:
    В поле ввода edtVvod вводится строка. Необходимо дописать процедуру обработки нажатия кнопки btnRun, которая выведет в надпись lblVyvod среднеарифметическое встретившихся четных цифр, стоящих на нечетных позициях во введённой строке, если таковых нет, то результат 0.

    (Вы должны написать только текст, который должен быть вставлен вместо многоточия)



    procedure TForm1.btnRunClick(Sender: TObject);

    var s:string; sum,x,i,k,c:integer; sa:real;

    begin

    s:=edtVvod.Text;

    ...
    lblVyvod.Caption:=FloatToStr(sa);

    end;

    Код:
    sum:=0;
    c:=0;
    sa:=10;
    for i:=1 to length(s) do
    begin
    val(s[i],x,k);
    if (k=0) and (x mod 10<>0) and (x>sum) then sum:=x;


    if (k=0) and (x mod 10<>0) and (x c:=c+1;


    end;
    if c<>0 then sa:=sum/sa else sa:=0;

Ответы 1

  • procedure TForm1.btnRunClick(Sender: TObject);var    s: string;     sum, x, i, count: integer;begin    s := edtVvod.Text;    lblVyvod.Caption := FloatToStr(0);        sum := 0;    count := 0;        for i := 1 to length(s) do    begin        if i mod 2 = 0 then Continue;        x := StrToInt(s[i]);        if x mod 2 = 1 then Continue;        sum := sum + x;        count := count + 1;    end;        if count > 0 then        lblVyvod.Caption := FloatToStr(sum / count);end;убрала кое что ненужноеотформатировалаувы проверить негде, так что на ваш страх и риск. Логика правильная
    • Автор:

      smoke14
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years