![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Иван2512 |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: ![]() ![]() ![]() |
Всем здрасьте)
от меня требуется решить квадратное уравнение со следующим условием 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 не могу понять, в чем дело. Прошу помочь, зараннее благодарен)) |
![]() ![]() |
Федосеев Павел |
![]()
Сообщение
#2
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 298 Пол: Мужской Реальное имя: Федосеев Павел Репутация: ![]() ![]() ![]() |
Если у тебя FPC - добавь в начале программы строки
uses Это даст вывод в консольном окне номера строки с ошибкой. Далее - прочти в "user.pdf" описание ошибки с кодом 200. Совмести мысленно текст строки и описание ошибки. И в результате медитаций увидишь, что всему виной экономия на объявлении переменных (или неверный способ их использования - можно корни записывать сразу в x и x1, а потом сравнить и при необходимости поменять местами). x := (sqrt(d)-b)/(2*a); |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 7:23 |