Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1221648561
renex
2008-09-17 14:49
2008.10.26
вызов функции из другого модуля


15-1220256734
Альф
2008-09-01 12:12
2008.10.26
Как работает оптимизатор размера проектов в Delphi ?


2-1221815015
cruiser
2008-09-19 13:03
2008.10.26
Отлов нажатия определенной комбинации клавиш


2-1221679625
SpinButton
2008-09-17 23:27
2008.10.26
SpinButton


2-1221641606
vegarulez
2008-09-17 12:53
2008.10.26
Вопрос про DBGrid.DataSource.DataSet.FieldValues[];





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский