Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2011, 23:41   #1
13xXx13
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 17
По умолчанию проверка решений квадратного уравнения

почему проверка комплексных корней идет не верно?? если закоментировать "(provRe = 0)" (54 строка), то все правильно. где ошибка, помогите найти!
Код:
program p3;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
var
  provRe, provIm, a, b, c, d, x1, x2, x, Re, Im: Single;
 
begin
  WriteLn('   ax^2+bx+c=0');
  Write ('   Input a: ');
  ReadLn (a);
  Write ('   Input b: ');
  ReadLn (b);
  Write ('   Input c: ');
  ReadLn (c);
 
  if a = 0 then
  begin
    if (b = 0)and(c = 0) then WriteLn('   Korni - ljubije chusla');
    if (b = 0)and(c <> 0) then WriteLn('   Net kornei');
    if b <> 0 then 
    begin
      x:=(-c)/b;
      WriteLn('   x = ', x);
 
      writeln('proverka: ');
      if b*x+c=0 then writeln('korny verny')
      else writeln('nepravilno naydenny korny');
    end;
  end
  else
  begin
    d:=b*b-4*a*c;
 
    if d < 0 then
    begin
 
 
      Re:=((-b)/(2*a));
      Im:=sqrt((-1)*d)/(2*a);
      WriteLn('   x1 = ', Re, '+', Im, 'i');
      WriteLn('   x2 = ', Re, '-', Im, 'i');
 
      writeln('proverka: ');
 
      provRe := a*Re*Re-a*Im*Im+Re*b+c;
      provIm := 2*a*Re*Im+b*Im;
 
      WriteLn('Re = ', provRe, 'Im = ', provIm);
 
      if ((provRe = 0) and (provIm = 0)) then writeln ('korny naydenny verno')
     else writeln('korny naydenny neverno');
 
    end
 
    else begin
    x1:=(-b+sqrt(d))/(2*a);
    x2:=(-b-sqrt(d))/(2*a);
    WriteLn('   x1 = ', x1, '; x2 = ', x2);
 
    WriteLn('proverka: ');
 
    if ((a*x1*x1+b*x1+c=0) and (a*x2*x2+b*x2+c=0))  then writeln ('korny naydenny verno')
    else writeln('nevernye korny1');
 
      end;
 
 
  
  end;
 
  WriteLn('Press any key:');
  ReadLn;
 
end.

Последний раз редактировалось Stilet; 06.05.2011 в 08:13.
13xXx13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение квадратного уравнения Эммануэль Общие вопросы Delphi 13 26.12.2010 15:21
Решение квадратного уравнения в Паскале yaxx Помощь студентам 2 06.10.2010 16:57
Вычисления корней квадратного уравнения Наталья111 Общие вопросы Delphi 4 25.12.2008 11:06
Решение квадратного уравнения Stiv Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 30.11.2007 15:15
корни квадратного уравнения InseR Общие вопросы Delphi 12 01.06.2007 17:30