1 / 1 / 1
Регистрация: 08.11.2012
Сообщений: 12
1

Не правильно считает дискриминант

08.11.2012, 12:00. Показов 867. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. помоги решить проблему. программа находит корни квадратного уравнения. Если давать значения a-1 b-1 c-1, потом любые положительные значения, то программа работает. если сразу после запуска вбить например a-1 b-5 c-1 - то D= 5 (хотя должен быть 21), и дальше дискриминант считается не правильно. если вбить отрицательные значения, даже после a-1 b-1 c-1 - то дискриминант кривой. например при a-1 b-6 c- -27, он пишет d-12, вместо 144. помогите плиз)
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    edt1: TEdit;
    edt2: TEdit;
    edt3: TEdit;
    btn1: TButton;
    edt4: TEdit;
    edt5: TEdit;
    edt6: TEdit;
    lbl1: TLabel;
    lbl2: TLabel;
    lbl3: TLabel;
    lbl4: TLabel;
    lbl5: TLabel;
    lbl6: TLabel;
    lbl7: TLabel;
    lbl8: TLabel;
    procedure edt1Change(Sender: TObject);
    procedure edt2Change(Sender: TObject);
    procedure btn1Click(Sender: TObject);
    procedure edt4Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
  var
a,b,c:integer;
x1,x2,d:Double;
label m1;
 
procedure TForm1.edt1Change(Sender: TObject);
begin
  a:=strtoint (edt1.Text);
 
end;
 
procedure TForm1.edt2Change(Sender: TObject);
begin
b:=strtoint (edt2.Text);
end;
 
 
 
procedure TForm1.edt4Change(Sender: TObject);
begin
 c:=strtoint(edt2.Text);
end;
 
procedure TForm1.btn1Click(Sender: TObject);
begin
 
d:=(Sqr (b))-(4*a*c);
edt3.text:=FloatToStr(d);
if d<0 then
 
begin
 ShowMessage('ну вот и все))');
 exit;
end;
 x1:=(-b-sqrt(d))/(2*a);
 x2:=(-b+sqrt(d))/(2*a);
 edt5.text:=FloatToStr(x1);
 edt6.text:=floatToStr(x2);
end;
  end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2012, 12:00
Ответы с готовыми решениями:

Задача не правильно считает
Я написал код,но он не правильно как-то считает.Я уже просто не знаю что делать.Помогите пожалуйста...

Не правильно считает (одномерный массив)
procedure TForm1.Button1Click(Sender: TObject); var a: array of integer; x,n,i:integer; ...

Не правильно считает, доделать в формы
1) Дан файл f, содержащий сведения об игрушках: указывается название игрушки (например, кукла,...

Не правильно считает программа...ошибкааа:(
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

4
angstrom
08.11.2012, 12:18 2
Delphi
1
2
3
4
5
6
procedure TForm1.btn1Click(Sender: TObject);
begin
  d:=(Sqr (b))-(4*a*c);
  edt3.text:=FloatToStr(d);
  if d<0 then
...
Уверен что присвоение должно идти в edt3?
106 / 79 / 21
Регистрация: 16.04.2012
Сообщений: 215
08.11.2012, 12:20 3
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.edt2Change(Sender: TObject);
begin
b:=strtoint (edt2.Text);
end;
 
procedure TForm1.edt4Change(Sender: TObject);
begin
 c:=strtoint(edt2.Text);
end;
Ты с и b берешь с одного едита
1
1 / 1 / 1
Регистрация: 08.11.2012
Сообщений: 12
08.11.2012, 12:26  [ТС] 4
Цитата Сообщение от Tanchik_Z Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.edt2Change(Sender: TObject);
begin
b:=strtoint (edt2.Text);
end;
 
procedure TForm1.edt4Change(Sender: TObject);
begin
 c:=strtoint(edt2.Text);
end;
Ты с и b берешь с одного едита
хэ, на земетил))
0
Эксперт Pascal/Delphi
4902 / 2772 / 851
Регистрация: 04.10.2012
Сообщений: 10,101
08.11.2012, 12:45 5
По нажатию кнопки
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c,d:integer;
begin
a :=strtoint(Edit1.Text);
b:= strtoint(Edit2.Text);
c :=strtoint(Edit3.Text);
d :=b*b-4*a*c; //дискриминант
................................
................................ // и т.д.
end;
 
end.
0
08.11.2012, 12:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2012, 12:45
Помогаю со студенческими работами здесь

Почему программа зависает и не правильно считает?
Привет всем! Если этим кодом попробовать пройтись по достаточно большому тексту, комп...

Дискриминант
Добрый день. скажите пожалуйста как можно описать комплексные корни в процессе решения квадратного...

Дискриминант
Вчера начал изучать Delphi ,решил написать прогу для счета дискриминанты..запутался в типах...

Неправильно считает дискриминант в чем проблема?
internal double ttyty(int a3, int b3, int c3,out double x1,out double x2) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru