Имеется и код, немного отличающийся от нужного по . необходимо отредактировать код. : в поле ввода 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;

natab02 natab02    1   02.09.2019 11:20    1

Ответы
vgaydeekoy8i5c vgaydeekoy8i5c  06.10.2020 11:52
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;

убрала кое что ненужное
отформатировала
увы проверить негде, так что на ваш страх и риск.
Логика правильная
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика