ответ: (в начале текст испорчен, непонятно из какой системы перевоить)
36₁₀ = 0*2⁰ + 0*2¹ + 1*2² + 0*2³ + 0*2⁴ + 1*2⁵ = 100100₂
197₁₀ = 5*8⁰ + 0*8¹ + 3*8² = 305₈
681₁₀ = 9*16⁰ + 10*16¹ + 2*16² = 2A9₁₆
100100110101₂ = 1*2⁰ + 0*2¹ + 1*2² + 0*2³ + 1*2⁴ + 1*2⁵ + 0*2⁶ + 0*2⁷ + 1*2⁸ + 0*2⁹ + 0*2¹⁰ + 1*2¹¹ = 2357₁₀
2357₁₀ = 5*8⁰ + 6*8¹ + 4*8² + 4*8³ = 4465₈
1011011₂ = 1*2⁰ + 1*2¹ + 0*2² + 1*2³ + 1*2⁴ + 0*2⁵ + 1*2⁶ = 91₁₀
91₁₀ = 3*8⁰ + 3*8¹ + 1*8² = 133₈
245₈ = 5*8⁰ + 4*8¹ + 2*8² = 165₁₀
165₁₀ = 1*2⁰ + 0*2¹ + 1*2² + 0*2³ + 0*2⁴ + 1*2⁵ + 0*2⁶ + 1*2⁷ = 10100101₂
573₈ = 3*8⁰ + 7*8¹ + 5*8² = 379₁₀
379₁₀ = 1*2⁰ + 1*2¹ + 0*2² + 1*2³ + 1*2⁴ + 1*2⁵ + 1*2⁶ + 0*2⁷ + 1*2⁸ = 101111011₂
1BA7₁₆ = 7*16⁰ + A*16¹ + B*16² + 1*16³ = 7079₁₀
7079₁₀ = 1*2⁰ + 1*2¹ + 1*2² + 0*2³ + 0*2⁴ + 1*2⁵ + 0*2⁶ + 1*2⁷ + 1*2⁸ + 1*2⁹ + 0*2¹⁰ + 1*2¹¹ + 1*2¹² = 1101110100111₂
ACE₁₆ = E*16⁰ + C*16¹ + A*16² = 2766₁₀
2766₁₀ = 0*2⁰ + 1*2¹ + 1*2² + 1*2³ + 0*2⁴ + 0*2⁵ + 1*2⁶ + 1*2⁷ + 0*2⁸ + 1*2⁹ + 0*2¹⁰ + 1*2¹¹ = 101011001110₂
B68₁₆ = 8*16⁰ + 6*16¹ + B*16² = 2920₁₀
2920₁₀ = 0*8⁰ + 5*8¹ + 5*8² + 5*8³ = 5550₈
FE8₁₆ = 8*16⁰ + E*16¹ + F*16² = 4072₁₀
4072₁₀ = 0*8⁰ + 5*8¹ + 7*8² + 7*8³ = 7750₈
655₈ = 5*8⁰ + 5*8¹ + 6*8² = 429₁₀
429₁₀ = 13*16⁰ + 10*16¹ + 1*16² = 1AD₁₆
743₈ = 3*8⁰ + 4*8¹ + 7*8² = 483₁₀
483₁₀ = 3*16⁰ + 14*16¹ + 1*16² = 1E3₁₆
Проверяем в конструкторе значения на данные признаки, если мы получаем ошибку инициализации, то даем переменным нулевые значения, дабы избежать ошибок в других функция. (грубо говоря, чтобы вся программа не легла из-за конструктора, благодаря выводу текстового сообщения мы будем знать где конкретно ошибка)
#include <iostream>
#include <cmath>
class Progression {
private:
float first;
int second;
public:
Progression(float a0, int d) {
if (a0 == round(a0)) {
std::cout << "Инициализация первого члена прогрессии с конструктора не удалась, первый элемент не должен быть целыми числом!\n";
this->first = 0;
}
else {
this->first = a0;
std::cout << "Инициализация первого члена прогрессии успешно!\n";
}
if (d < 0) {
std::cout << "Инициализация разности прогрессии с конструктора не удалась, разность должна быть положительной!\n";
this->second = 0;
}
else {
this->second = d;
std::cout << "Иницализация разности успешно!\n";
}
}
float operator()(int j){
return this->first + this->second * (j - 1);
}
};
signed main() {
setlocale(LC_ALL, "Rus");
float a;
int b;
std::cout << "Введите значение a0 и d: ";
std::cin >> a >> b;
Progression p1(a, b);
std::cout << p1(2);
return 0;
}