Цитата:
|
Цитата:
В кольце a*b = a*c a*b = a*c a*b - a*c = a*c - a*c a*(b - c) = 0 Очевидно, что в случае если a равно нулю, b вовсе не обязано быть равно c. Более того, также необходимо, чтобы наше кольцо являлось областью целостности. |
Цитата:
|
Цитата:
------ видите? операторы опять не правильно ведут себя с нечислами. |
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Нули не сокращаются - это не правильно. На ноль не делится - это не правильно. вот еще пример ошибочной работы с нечислами 14-14 = 0 (14-14)*10 = (14-14)*30 одинаковые множители (14-14) сокращаются, получается 10=30 |
Цитата:
Выше я уже показал, что уравнение a*x = a*y имеет сколько угодно корней при a = 0 Цитата:
|
Цитата:
|
Цитата:
#include <iostream> class Int { public: Int(int i): value(i) {} operator int() const { return value; } int operator*(Int &rv) { if_null(rv); return value * rv; } int operator/(Int &rv) { if_null(rv); return value / rv; } private: int value; inline void if_null(Int &rv) { if (value == 0) value = 1; else if (rv == 0) rv = 1; } }; int main() { Int a = 0; Int b = 5; int i = a * b; //5 int j = a / b; //5 std::cout << "0 * 5 = " << i << "\n0 / 5 = " << j << std::endl; return 0; } |
Часовой пояс GMT +3, время: 07:24. |