Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
1

Если все корни одного квадратного уравнения больше корней другого квадратного уравнения, вывести "1", иначе "0"

27.06.2013, 18:31. Просмотров 1130. Ответов 3
Метки нет (Все метки)


{Даны вещественные a1,a2,b1,b2,c1,c2. Если все корни одного из уравнений
a1*x*x+b1*x+c1=0, a2*x*x+b2*x+c2=0 больше корней другого уравнения, то выдать
на экран 1, во всех остальных случаях 0}
Pascal
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
program prog108;
uses Crt;
 
{процедура вычисления квадратных корней y=a*x*x+b*x+c}
procedure QE(a,b,c:integer; var r1, r2:real;Var k:integer);
var
   d:real;
 begin
   d:=sqr(b)-4*a*c;
   if d>0 then
   begin
     k:=2;
     r1:=(-b-sqrt(d))/(2*a);
     r2:=(-b+sqrt(d))/(2*a);
     writeln(r1:4:2,' ', r2:4:2);
   end
   else
   begin
     if d=0 then
     begin
       k:=1;
       r1:=(-b)/(2*a);
       writeln(r1:4:2);
     end
     else begin
       k:=0;
       writeln('Нет корней!')
   end;
end;
 writeln('Количество корней:',k);
end;
 
 
 var
    a1,b1,c1,a2,b2,c2:integer;
    n11, n21,n12,n22:real;
    n1,n2:integer;
 begin
 ClrScr;
    writeln('Квадратное уравнение N1: a1*x*x+b1*x+c1=0');
    writeln('Введите числа (a1,b1,c1)<>0');
    readln(a1,b1,c1);
    writeln('Корни 1-го ур.:');
    QE(a1,b1,c1,n11,n21,n1);
    writeln;
    writeln('Квадратное уравнение N2: a2*x*x+b2*x+c2=0');
    writeln;
    writeln('Введите числа (a2,b2,c2)<>0');
    readln(a2,b2,c2);
    writeln('Корни 2-го ур.:');
    QE(a2,b2,c2,n12,n22,n2);
    writeln;
    if (n1>0) and (n2>0) then
    begin
     if ((n11>n12) and (n11>n22) and (n21>n12) and (n21>n22)) or
     ((n12>n11) and (n12>n21) and (n22>n11) and (n22>n21)) then begin
      writeln('Получаем:',1); end
     else
      writeln('Получаем:',0);
    end;
    readkey; end.
не получается сделать, когда в уравнении только один корень, ошибку выдает или неправильно выводит.
вот тест, который вам пригодится:
1) a=1, b=5, c=4 x1=-4 x2=-1
2) a=1 b=-2 c=-3 x1=3 x2=-1
3)a=-1 b=8 c=-6 x1= 0,.. x2=7,..
4) a=1 b=12 c=36 x1=-6
5) a=3 b=-6 c=3 x1=1
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.06.2013, 18:31
Ответы с готовыми решениями:

Вывести решения уравнения, если их число конечно, "NO", если решений нет, и "INF", если их бесконечно много
Задача с условным оператором. Решить в целых числах уравнение ax + b = 0. Входные данные...

"Первый после Hello, world!". Программа решения квадратного уравнения
Добрый день, уважаемые форумчане. Покритикуйте пожалуйста, программу вывода на экран в...

Сформировать вектор: если в строке матрицы букв больше цифр, то элемент вектора -"истина", иначе "ложь"
Случайным образом заполнить матрицу символов 6х6.сформировать вектор в строке матрицы строчных...

Если навел мышкой на 1 то вывести "единица", если 2 то "Двойка", если на 3 то "тройка" и тд., и это все в одной функции
Ребят, выручайте. &lt;div id=&quot;1&quot; onMouseOver=&quot;inf()&quot; onMouseOut=&quot;noinf()&quot;&gt;1&lt;/div&gt; &lt;br&gt; ...

__________________
Помогаю в написании студенческих работ здесь.
3
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30870 / 20191 / 7875
Регистрация: 22.10.2011
Сообщений: 35,052
Записей в блоге: 6
27.06.2013, 18:57 2
Так лучше работает?
Pascal
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
program prog108;
uses Crt, Math;
 
{процедура вычисления квадратных корней y=a*x*x+b*x+c}
procedure QE(a,b,c:integer; var r : array of real; Var k : integer);
var
   d:real;
 begin
   d:=sqr(b)-4*a*c;
   if d>0 then
   begin
     k:=2;
     r[0]:=(-b-sqrt(d))/(2*a);
     r[1]:=(-b+sqrt(d))/(2*a);
     writeln(r[0]:4:2,' ', r[1]:4:2);
   end
   else
   begin
     if d=0 then
     begin
       k:=1;
       r[0]:=(-b)/(2*a);
       writeln(r[0]:4:2);
     end
     else begin
       k:=0;
       writeln('Нет корней!')
   end;
end;
 writeln('Количество корней:',k);
end;
 
 
 var
    a1,b1,c1,a2,b2,c2:integer;
    // n11, n21,n12,n22:real;
    r1, r2 : array[1 .. 2] of double;
    p1, p2 : pdouble;
    n1,n2:integer;
 begin
 ClrScr;
    writeln('Квадратное уравнение N1: a1*x*x+b1*x+c1=0');
    writeln('Введите числа (a1,b1,c1)<>0');
    readln(a1,b1,c1);
    writeln('Корни 1-го ур.:');
    // QE(a1,b1,c1,n11,n21,n1);
    QE(a1,b1,c1, r1, n1);
    writeln;
    writeln('Квадратное уравнение N2: a2*x*x+b2*x+c2=0');
    writeln;
    writeln('Введите числа (a2,b2,c2)<>0');
    readln(a2,b2,c2);
    writeln('Корни 2-го ур.:');
    QE(a2,b2,c2, r2, n2);
    writeln;
    p1 := @r1[1];
    p2 := @r2[1];
    if (n1>0) and (n2>0) then
    begin
      if (MinValue(p1, n1) > MaxValue(p2, n2)) or 
         (MinValue(p2, n2) > MaxValue(p1, n1)) 
      then 
         writeln('Получаем:',1)
      else
        writeln('Получаем:',0);
    end;
    readkey; end.
0
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
27.06.2013, 19:38  [ТС] 3
p1 := @r1[1];
p2 := @r2[1];
if (n1>0) and (n2>0) then
begin
if (MinValue(p1, n1) > MaxValue(p2, n2)) or
(MinValue(p2, n2) > MaxValue(p1, n1))

что означает?

Добавлено через 23 минуты
нет не работает, много ошибок выдает
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30870 / 20191 / 7875
Регистрация: 22.10.2011
Сообщений: 35,052
Записей в блоге: 6
27.06.2013, 21:35 4
Цитата Сообщение от wsa Посмотреть сообщение
нет не работает, много ошибок выдает
Никаких ошибок она не выдает, нормально компилируется и выполняется (в крайнем случае надо САМОЙ первой строкой добавить):

Pascal
1
2
3
{$mode objfpc} // Вот это
program prog108;
// Дальше всё без изменений
, у меня просто в настройках и так всегда стоит эта опция, мне не нужно делать это действие. Вот результат двух прогонов:

Квадратное уравнение N1: a1*x*x+b1*x+c1=0
Введите числа (a1,b1,c1)<>0
1 -2 -3
Корни 1-го ур.:
-1.00 3.00
Количество корней:2

Квадратное уравнение N2: a2*x*x+b2*x+c2=0

Введите числа (a2,b2,c2)<>0
3 -6 3
Корни 2-го ур.:
1.00
Количество корней:1

Получаем:0
Квадратное уравнение N1: a1*x*x+b1*x+c1=0
Введите числа (a1,b1,c1)<>0
1 5 4
Корни 1-го ур.:
-4.00 -1.00
Количество корней:2

Квадратное уравнение N2: a2*x*x+b2*x+c2=0

Введите числа (a2,b2,c2)<>0
1 12 36
Корни 2-го ур.:
-6.00
Количество корней:1

Получаем:1
Что не так?
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.06.2013, 21:35

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Если в строке есть хоть один ноль - вывести в файл output.txt "YES", иначе вывести "NO";
Задача. В файле input.txt содержится неприрывная строка нулей и единиц. Если в строке есть хоть...

Если в обеих строках чаще всего встречается одна и та же буква, то вывести на экран сообщение "да", иначе – "нет"
Даны две строки символов, состоящие из строчных английских букв, не содержащие пробелов. Если и в...

Дано четырехзначное число. Если оно читается слева направо и справа налево одинаково, то вывести "да", иначе "нет"
Дано четырехзначное число. Если оно читается слева направо и справа налево одинаково, то вывести...

Если в строке больше букв "А", чем букв "О", вывести в центре экрана слово "привет"
Помогите составить алгоритм к задаче: Заполнить левую половину экрана синим цветом, правую -...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.