IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Решение квадратного ур-я Помогите, необходима помощь
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


Всем здрасьте)
от меня требуется решить квадратное уравнение со следующим условием
1)в действительных числах
2) если корня два то вывести их в порядке возрастания

и главное:
На входе три числа: a,b,c

Выдать
-1 если решений уравнения бесконечно много
0 если решений нет
1 если уравнение стало линейным выдать х
2 если квадратное уравнение с двумя корнями, выдат х1 и х2 по возрастанию
3 если у квадратного ур-я крвтные корни и выдать х

числа -1; 0; 1; 2; 3; являются кодами их нужно вывести вместе с корнями или же без таковых.

мною был написан следующий код

Var
a,b,c,x,x1,d:Real;
Begin
Readln(a,b,c);
If a=0 then
Begin
If b=0 then
If c=0 then
Writeln('-1')
else
Writeln('0')
Else
Begin
x:=c/b;
Writeln('0 ',x:0:2);
End;
End;
d:=sqr(b)-4*a*c;
If d>=0 then
Begin
If d=0 then
begin
x:=-b/(2*a);
Writeln('3 ',x:0:2);
end
else
begin
a:=(sqrt(d)-b)/(2*a);
b:=(-sqrt(d)-b)/(2*a);
If a>b then
begin
x:=a;
x1:=b;
end
else
begin
x:=b;
x1:=a;
end;
Writeln('2 ',x:0:2,' ',x1:0:2);
end;
end
Else
Writeln('0');
Readln
End.

но при вводе 0;0;0 вылетает с ошибкой exitcod=207

не могу понять, в чем дело.
Прошу помочь, зараннее благодарен))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


Подправил код на такой:
Код

Var
a,b,c,x,x1,d:Real;
  Begin
   Readln(a,b,c);
   If a=0 then
    Begin If b=0
    then If c=0 then
     Writeln('-1')
      else
       Writeln('0')
       Else
        Begin
         x:=c/b;
          Writeln('3 ',x:0:2);
           End;
            end
             Else
             Begin
             d:=sqr(b)-4*a*c;
              If d>=0 then
              Begin
              If d=0 then
               begin
                x:=-b/(2*a);
                 Writeln('3 ',x:0:2);
                  end
                   else
                   begin
                    a:=(sqrt(d)-b)/(2*a);
                     b:=(-sqrt(d)-b)/(2*a);
                      If a>b then
                       begin
                        x:=a;
                         x1:=b;
                         end
                          else
                          begin
                           x:=b;
                           x1:=a;
                            end;
                            Writeln('2 ',x:0:2,' ',x1:0:2);
                             end;
                             end
                             Else
                              Writeln('0');
                              End;
                               End.



Так теперь вылет при а<>0 , b<>0 , а с=0.
Опять не могу понять, где проблема(
Кто может, помогите.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.10.2025 22:02
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name