Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 25.10.2010, 22:27
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от ChinYan
Это же получается не би квадратное уравнение, а просто квадратное

би квадратное:

ax^4+bx^3+cx^2+dx+e=0
Согласен, но с учетом знаний автора... думаю врядли ему задали би-квадратное...

Та и формулы он написал для квадратного...

Хотя)))

Кстати:
би квадратное:
ax^4+bx^2+c=0.

Последний раз редактировалось Konrad, 25.10.2010 в 22:30.
Ответить с цитированием
  #17  
Старый 25.10.2010, 22:31
zhenya20091 zhenya20091 вне форума
Прохожий
 
Регистрация: 25.10.2010
Сообщения: 11
Репутация: 10
По умолчанию

большое спасибо вам
Ответить с цитированием
  #18  
Старый 25.10.2010, 22:35
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Цитата:
Сообщение от Konrad
Согласен, но с учетом знаний автора... думаю врядли ему задали би-квадратное...

Та и формулы он написал для квадратного...

Хотя)))

Кстати:
би квадратное:
ax^4+bx^2+c=0.

Ну да, я сейчас не о би квадратном думаю, а о квадратном при отрицательном дискриминанте - это уже мне задали. Но тут я уже сам разберусь.
Ответить с цитированием
  #19  
Старый 25.10.2010, 22:36
zhenya20091 zhenya20091 вне форума
Прохожий
 
Регистрация: 25.10.2010
Сообщения: 11
Репутация: 10
По умолчанию

ax^4+bx^2+c=0 всё таки нам такое задали . мы представляем х^2=z и решаем обычное квадратное уравнение . Konrad можете позайлуста внести изменения в программку что бы я смог решить ax^4+bx^2+c=0
Ответить с цитированием
  #20  
Старый 25.10.2010, 22:36
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от zhenya20091
большое спасибо вам
Так какое уравнение тебе задали?
Если биквадратное, тогда нужно еще найти
PHP код:
if x1>0 then 
x11
=-sqrt(x1);
x12=sqrt(x1);
end;
if  
x2>0 then
begin 
x21
=-sqrt(x2);
x22=sqrt(x2);
end

где х11,х12,х21,х22 и будут искомые корни.

Последний раз редактировалось Konrad, 25.10.2010 в 22:40.
Ответить с цитированием
  #21  
Старый 25.10.2010, 22:40
zhenya20091 zhenya20091 вне форума
Прохожий
 
Регистрация: 25.10.2010
Сообщения: 11
Репутация: 10
По умолчанию

биквадратное )))
Ответить с цитированием
  #22  
Старый 25.10.2010, 22:51
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Коряво, но в учебных целях пойдет:
PHP код:
procedure TForm1.Button2Click(SenderTObject);
var
a,b,c,d,x1,x2,x11,x12,x21,x22:real;
begin
if (edit1.text='')or(edit2.text='')or(edit3.text=''then
begin
 ShowMessage 
('Где данные?)');
end
else
begin
 a
:=strtofloat(edit1.text);
 
b:=strtofloat(edit2.text);
 
c:=strtofloat(edit3.text);
 
d:=b*b-4*a*c;
 if 
d>0 then
  begin
   x1
:=(-b+sqrt(d))/(2*a);
   
x2:=(-b-sqrt(d))/(2*a);
   
memo1.Lines.clear;
    if 
x1>0 then
     begin
      x11
:=-sqrt(x1);
      
x12:=sqrt(x1);
      
memo1.Lines.Add('x11 = '+floattostr(x11));
      
memo1.Lines.Add('x12 = '+floattostr(x12));
      
label2.Caption:='Проверка №11 : '+floattostr(x11*x11*x11*x11*a+b*x11*x11+c)+' = 0;';
      
label3.Caption:='Проверка №12 : '+floattostr(x12*x12*x12*x12*a+b*x12*x12+c)+' = 0;';
     
end;
    if  
x2>0 then
     begin
      x21
:=-sqrt(x2);
      
x22:=sqrt(x2);
      
memo1.Lines.Add('x21 = '+floattostr(x21));
      
memo1.Lines.Add('x22 = '+floattostr(x22));
      
label4.Caption:='Проверка №21 : '+floattostr(x21*x21*x21*x21*a+b*x21*x21+c)+' = 0;';
      
label5.Caption:='Проверка №22 : '+floattostr(x22*x22*x22*x22*a+b*x22*x22+c)+' = 0;';
     
end;
  
end
 
else
  
begin
   label1
.Caption:='d<0!';
   
label2.Caption:='';
   
label3.Caption:='';
   
label4.Caption:='';
   
label5.Caption:='';

  
end;
end;


end
Ответить с цитированием
  #23  
Старый 25.10.2010, 22:58
zhenya20091 zhenya20091 вне форума
Прохожий
 
Регистрация: 25.10.2010
Сообщения: 11
Репутация: 10
По умолчанию

огромное спасибо
Ответить с цитированием
  #24  
Старый 06.12.2010, 00:39
razh2009 razh2009 вне форума
Прохожий
 
Регистрация: 04.12.2010
Сообщения: 20
Репутация: 10
По умолчанию

вот:
Код:
program bisqr;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var a,b,c,d,x1,x2,x3,x4,p1,p2:real;
  i,j:Integer;
begin
  Reset(Input,'bisqr.in');
  Rewrite(Output,'bisqr.out');
  read(a,b,c);
  x1:=-3333;x2:=-3333;x3:=-3333;x4:=-3333;
  if (a=0)and(b=0) and (c=0) then writeln(-1);
  if (a<>0) and (b<>0) and (c=0) then begin
      Writeln(1);
      Writeln(0);
  end;

  if (a<>0) and (b=0) and (c=0) then begin
      Writeln(1);
      Writeln(0);
  end;

  if (a=0) and (b=0) and (c<>0) then begin
      Writeln(0);
  end;

  if (a=0) and (b<>0) and (c<>0) then begin
      Writeln(0);
  end;

  if (a=0) and (b<>0) and (c=0) then begin
      Writeln(1);
      Writeln(0)
  end;

  if (a<>0) and (b=0) and (c<>0) then begin
      Writeln(0);
  end;


  if (a<>0)and(b<>0) and (c<>0)then begin
  x1:=-3333;x2:=-3333;x3:=-3333;x4:=-3333;
  if (b*b - 4*a*c) > 0 then begin
     d:=b*b - 4*a*c ;
     p1:=-(b+sqrt(D))/(2*a);
     p2:=-(b-sqrt(D))/(2*a);
     i:=0;
     if p1>0 then begin x1:=Sqrt(p1);x2:=-x1;i:=i+2;end;
     if p2>0 then begin x3:=Sqrt(p2);x4:=-x3; i:=i+2; end;
     Writeln(i);
     if x1<>-3333 then Writeln(x1:0:6);
     if x2<>-3333 then Writeln(x2:0:6);
     if x3<>-3333 then Writeln(x3:0:6);
     if x4<>-3333 then Writeln(x4:0:6);
  end;
  if (b*b - 4*a*c) = 0 then begin p1:=-b/(2*a);
  i:=0;
   if p1>0 then begin x1:=Sqrt(p1); x2:=-x1;i:=2;end;
   Writeln(i);
   if x1<>-3333 then Writeln(x1:0:6);
   if x2<>-3333 then Writeln(x2:0:6);
    end;
    if (b*b - 4*a*c) < 0 then Writeln(0);
  end;

  //Writeln(i);
  //write(x1:0:6,' ',x2:0:6);
  CloseFile(Output);
end.

но тут где то есть ошибка...вот только где....
сначала выводится количество ответов, потомсами решения
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:59.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter