Предмет: Информатика,
автор: Vooroobeei
Имеется задание и код, немного отличающийся от нужного по заданию. Необходимо отредактировать код.
Задание:
В поле ввода 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;
Ответы
Автор ответа:
0
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;
убрала кое что ненужное
отформатировала
увы проверить негде, так что на ваш страх и риск.
Логика правильная
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;
убрала кое что ненужное
отформатировала
увы проверить негде, так что на ваш страх и риск.
Логика правильная
Похожие вопросы
Предмет: Русский язык,
автор: bendob303
Предмет: Химия,
автор: sultanovaaigerim
Предмет: Химия,
автор: slaleti43893
Предмет: Литература,
автор: gabdulina1982881
Предмет: Химия,
автор: lanasvshar01