Форум: "Начинающим";
Текущий архив: 2008.10.26;
Скачать: [xml.tar.bz2];
ВнизПомогите с вычислением Найти похожие ветки
← →
Mahno (2008-09-18 11:03) [0]Имеется четыре поля для ввода чисел. все поля умножаются между собой,
пример:
X:=A*B*C*D;
если поле B=0 то результат: X=0
как правильно написать формулу при таком случае.
можно так: if B=0 then X:=A*C*D но если два поля пустые т.е. B=0 и C=0?
← →
AlekseyB (2008-09-18 11:05) [1]В любом случае, умножение на 0 даст 0, другое дело, если предусмотреть то, если встречается 0, то его игнорировать
← →
Vlad Oshin © (2008-09-18 11:07) [2]не понятно..
любое нулевое число не учавствует в умножении что ли?
← →
Плохиш © (2008-09-18 11:07) [3]
> Mahno (18.09.08 11:03)
Я тебе намекну. На X тоже умножать можно, так же как и его на что-то.
← →
int64 (2008-09-18 11:08) [4]Mahno (18.09.08 11:03)
Я проведу сеанс телепатии.
Тебе при перемножении надо игнорировать незаполненные поля?
← →
Azize © (2008-09-18 11:10) [5]Насколько я понимаю тебе не надо чтобы в случае когда какой-либо компонет был равен нулю он участвовал в перемножении?
Тогда такmas:array[1..3] of ...;
....
x:=1;
For i:=0 to 3 do
if mas[i]<>0 then x:=x*mas[i];
← →
Mahno (2008-09-18 11:13) [6]Да совершенно верно
← →
DrPass © (2008-09-18 11:14) [7]
> if B=0 then X:=A*C*D но если два поля пустые т.е. B=0 и
> C=0?
Тебе чего надо? Игнорировать нулевые множители?
if B = 0 then B:= 1;
if C = 0 then C:= 1;
X:=A*B*C*D;
← →
Mahno (2008-09-18 11:14) [8]
> int64 (18.09.08 11:08) [4]
Да именно
← →
Mahno (2008-09-18 11:20) [9]понятно
← →
Правильный$Вася (2008-09-18 11:31) [10]
> Игнорировать нулевые множители?if B = 0 then B:= 1;if C
> = 0 then C:= 1;
это фальсификация данных ;)
получается 0=1, а это....
← →
Vlad Oshin © (2008-09-18 11:50) [11]привязка массива к окнам ввода
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private { Private declarations }
public { Public declarations }
Procedure Change(Sender:tObject);
end;
var
Form1: TForm1;
m:array[0..3] of integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
x:integer;
i:integer;
begin
x:=1;
for I := 0 to 3 do
if m[i]<>0 then x:=x*m[i];
ShowMessage(inttostr(x));
end;
procedure TForm1.Change(Sender: tObject);
begin
Pinteger(tEdit(Sender).Tag)^:=strtoint(tEdit(Sender).Text);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
e:tedit;
i:integer;
begin
for i := 0 to 3 do
begin
m[i]:=random(10);
e:=tEdit.Create(form1);
e.Parent:=form1;
e.top:=i*30;
e.Name:="Edit"+inttostr(i);
e.Text:=inttostr(m[i]);
e.Tag:=LongInt(@m[i]);
e.Visible:=true;
e.OnChange:=Change;
end;
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.10.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.013 c