- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
#include <iostream>
#include <cmath>
#include "govno.h"
using namespace std;
class SqrtQual {
const string not_kor = "Нет корней!\n";
long double A;
long double B;
long double C;
long double D;
void vspomog();
void konez();
public:
void hello();
} obj;
int main() {
obj.hello();
}
void SqrtQual::hello() {
cout << "Программа решения квадратного уравнения по формуле: ";
cout << "aX^2 + bX + c = 0" << endl;
Govnokod obj;
A = obj.opros('a');
B = obj.opros('b');
C = obj.opros('c');
cout << endl;
konez();
}
void SqrtQual::vspomog() {
D = B*B - 4*A*C;
cout << "Дискриминант = " << D << endl;
if (D < 0)
cout << not_kor;
else if (D == 0)
cout << "X = " << (-B/(2*A));
else {
long double dsqrt = sqrt(D);
cout << "X1 = " << ((-B + dsqrt) / 2*A) << endl;
cout << "X2 = " << ((-B - dsqrt) / 2*A) << endl;
}
}
void SqrtQual::konez() {
bool any_digit = ((A == 0)
and (B == 0)
and (C == 0));
bool not_equal_zero = ((A == 0)
and (B == 0)
and (C != 0));
bool equal_zero_v1 = ((A == 0)
and (B != 0)
and (C == 0));
bool equal_zero_v2 = ((A != 0)
and (B == 0)
and (C == 0));
bool equal_zero = equal_zero_v1
or equal_zero_v2;
bool bx_plus_c = ((A == 0)
and (B != 0)
and (C != 0));
if (any_digit)
cout << "X -- любое число." << endl;
else if (not_equal_zero) {
cout << C << " != 0" << endl;
cout << not_kor;
}
else if (equal_zero)
cout << "X = 0" << endl;
else if (bx_plus_c) {
cout << "Решение частного случая (bX + c = 0):" << endl;
cout << "X = " << (-C/B) << endl;
}
else vspomog();
}
Попытался убрать лишнее из кода, возможно стало немного лучше, но это не точно...
Westnik_Govnokoda 25.12.2020 22:38 # 0
1024-- 26.12.2020 16:41 # +3
Два математика в ресторане поспорили, насколько хорошо знают математику большинство людей. Один (пессимист) утверждал, что большинство ее вообше не знает, а другой (оптимист) - что хоть и не много, но знают. Когда пессимист отошел в туалет, оптимист подозвал симпатичную официантку-блондинку и говорит:
- Когда мой коллега вернется, я задам вам вопрос. Суть не важна.
Все, что вы должны сделать - это сказать "Треть икс куб".
- Как-как? Третий скуп? - переспрашивает официантка?
- Да нет, Треть Икс Куб, Понятно?
- А-а! Третик скуп? - повторяет официантка.
- Да, да. Это все о чем я вас прошу.
Официантка уходит твердя про себя как заклинание фразу "Третик скуп".
Тут возвращается пессимист. Оптимист говорит - давай спросим у нашей официантки чему равен какой-нибудь простенький интеграл. Пессимист, со смехом соглашается. Оптимист вызывает официантку и спрашивает:
- Извините, вы не помните чему равен интеграл от x^2 по dх?
- Треть икс куб... - отвечает официантка.
Пессимист сильно удивлен, оптимист весело смеется. Официантка отходит на несколько шагов, и обернувшись через плечо добавляет:
- ... Плюс константа.
1024-- 26.12.2020 16:55 # +2
1024-- 26.12.2020 17:34 # +1
1. hello, vspomog, konez - нехорошие имена.
2. hello, вызывающее konez - странно звучит.
3. vspomog и konez будут бесполезны везде, кроме этой конкретной версии этой программы. Значения только вводятся из stdin и выводятся в stdout, без ведома пользователя не удастся позаниматься математикой.
Вопросы на обсуждение:
1. Как надо переписать код, чтобы решить два квадратных уравнения, коэффициенты которых записаны в long double ks[] = {1,2,1,3,10,2};
2. Как надо переписать код, чтобы решить два квадратных уравнения и вывести кубы решений для первого и модули решений - для второго?
3. Как надо переписать код, чтобы подставить в формулу для второго закона Ньютона хотя бы одно решение квадратного уравнения на массу ускоряющейся питушни?
4. Как надо переписать код, чтобы в случаях 1..3 его так сильно не переписывать?
CBuHOKYP 27.12.2020 00:05 # 0
Westnik_Govnokoda 27.12.2020 05:02 # 0
denisOg 25.08.2021 20:59 # 0