Не могу найти ошибку код на C++)
Условие:
Напишите функцию int quadratic_solve(double a, double b, double c, double *x1, double *x2), которая возвращает количество корней уравнения ax2 + bx + c = 0.
Если у уравнения один корень, то он должен возвращаться через параметр x1, а если два, то корни должны возвращаться через параметры x1 и x2 (в порядке возрастания).
С этой функции решите квадратное уравнение, с вводимыми в вашу программу коэффициентами a, b и c.
Формат входных данных:
С клавиатуры вводятся целые числа a, b и c, по модулю не превышающие 1000, и заданные с 3 знаками после десятичной точки. Гарантируется, что либо a ≠ 0, либо b ≠ 0.
Формат выходных данных:
Выведите корни квадратного уравнения с точностью до шести знаков после десятичной точки в возрастающем порядке.
Если корней у уравнения нет, то выводить ничего не нужно.
Моё решение:
https://pastebin.com/QrY9bPzh
n:integer;
x,y:real;
begin
for n:=1 to 50 do begin
Writeln('n=',n);
x:=1;
while x<=3.001 do begin
y:=sin(n*x)-cos(n/x);
if y<0 then Writeln('x=',x:3:1,' y=',y:8:5);
x:=x+0.1
end
end
end.
Результаты (частично)
n=1
x=2.1 y=-0.02554
x=2.2 y=-0.08996
x=2.3 y=-0.16126
x=2.4 y=-0.23898
x=2.5 y=-0.32259
x=2.6 y=-0.41144
x=2.7 y=-0.50481
x=2.8 y=-0.60191
x=2.9 y=-0.70188
x=3.0 y=-0.80384
n=2
x=1.5 y=-0.09412
x=1.6 y=-0.37370
x=1.7 y=-0.63973
x=1.8 y=-0.88619
x=1.9 y=-1.10714
x=2.0 y=-1.29710
x=2.1 y=-1.45132
x=2.2 y=-1.56607
x=2.3 y=-1.63885
x=2.4 y=-1.66858
x=2.5 y=-1.65563
x=2.6 y=-1.60190
x=2.7 y=-1.51073
x=2.8 y=-1.38683
x=2.9 y=-1.23607
x=3.0 y=-1.06530
...
n=49
x=1.0 y=-1.25435
x=1.1 y=-1.31878
x=1.3 y=-0.23684
x=1.5 y=-1.26149
x=1.6 y=-0.56383
x=1.9 y=-1.70385
x=2.0 y=-1.37979
x=2.4 y=-0.98177
x=2.5 y=-0.70927
x=2.6 y=-0.01366
x=2.7 y=-0.41812
x=2.8 y=-1.07678
x=2.9 y=-0.29265
n=50
x=1.0 y=-1.22734
x=1.1 y=-1.09814
x=1.5 y=-0.04807
x=1.6 y=-1.98015
x=2.0 y=-1.49757
x=2.1 y=-1.21559
x=2.5 y=-1.02412
x=2.6 y=-1.85832
x=2.7 y=-0.85734
x=3.0 y=-0.14029
#include <string>
typedef std::string STR;
STR ReactToMark();
int main() {
STR mark = ReactToMark();
std::cout << mark << '\n';
return 0;
}
STR ReactToMark() {
int mark;
std::cout << "Оценка: ";
std::cin >> mark;
switch (mark) {
case 1:
return "Очень плохо, надо мне прийти в школу";
case 2:
return "Плохо, я тобой недовольна";
case 3:
return "Мог бы и лучше";
case 4:
return "Хорошо, но пятёрка лучше";
case 5:
return "Молодец, на выходных пойдёшь в кино";
default:
std::cout << " введи правильную оценку!" << '\n';
return ReactToMark();
}
}