Нужно сделать программку с функцией: есть 3 цифровое число , нужно 2 его самые большие цифры умножить , например есть 128 , 2*8 = 16 , вот чтобы это делала программа , но этот по моему мнению "правильный" код подчеркивает и пишет еррор при компиляции , можете подсказать в чем ошибка? и стоит ли использовать q := 100*a+10*b+c; такой тип определения первой , второй и третьей цифры? лучше делать через деление без остатка?
Код:
procedure TForm3.Button1Click(Sender: TObject);
var a, b, c, q :double;
begin
q := StrToFloat (Edit1.Text);
q := 100*a+10*b+c;
if a>c and b>c then
Edit2.Text:=FloatToStr(a*b);
if a>b and c>b then
Edit2.Text:=FloatToStr(a*c);
if b>a and c>a then
Edit2.Text:=FloatToStr(b*c);
end;
end.
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
________________ Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Код у тебя странный какой то, делаешь операции с a,b,c , когда им даже не заданы значения.
Цитата:
procedure TForm3.Button1Click(Sender: TObject);
var a, b, c, q ouble;
E: array [1..3] of double;
i:byte;
begin
i:=1;
q := StrToFloat (Edit1.Text);
repeat
E[i]:=q mod 10;
q:=q div 10;
inc(i);
until q=0;
if E[1]>E[3] and E[2]>E[3] then
Edit2.Text:=FloatToStr(E[1]*E[2]);
if E[1]>E[2] and E[3]>E[2] then
Edit2.Text:=FloatToStr(E[1]*E[3]);
if E[2]>E[1] and E[3]>E[1] then
Edit2.Text:=FloatToStr(E[2]*E[3]);
Накатал кое как сам. Было лень все грамотно делать)
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).