/
AirLexa
/
origin
Обзор
Документация
Войти
/
AirLexa
/
origin
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
Lesson_12/Task_3/Task_3.cpp
60 строк
2 KB
AirLexa
загрузка 3 задачи
25 дек 2025, 13:31
25 дек 2025, 13:31
bc0502d
Код
Авторство
О чём код?
#include <iostream> #include <windows.h> #include <initializer_list> #include "extended_array.h" template<typename T1, typename T2> std::ostream& operator<<(std::ostream& os, const std::pair<T1, T2>& obj) { os << std::get<0>(obj) << ":" << std::get<1>(obj); return os; } int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); std::initializer_list<int> num = { 1, 0, 0, 0, 1, 0, 1, 0, 0, 1 }; std::initializer_list<bool> bo = { true, false, false, true, false, true }; // тест с корректным значением try { ExtArray ea_int(num); std::cout << "checkSum int = " << ea_int.checkSum() << std::endl; ExtArray ea_bool(bo); std::cout << "checkSum bool = " << ea_bool.checkSum() << std::endl; } catch (std::bad_typeid bte) { std::cout << "Ошибка! " << bte.what() << std::endl; } catch (std::logic_error ble) { std::cout << "Ошибка! " << ble.what() << std::endl; } // тест с некорректным типом try { std::initializer_list<float> float_num = { 1.0f, 0.6f }; ExtArray ea(float_num); std::cout << "checkSum = " << ea.checkSum() << std::endl; } catch (std::bad_typeid bte) { std::cout << "Ошибка! " << bte.what() << std::endl; } catch (std::logic_error ble) { std::cout << "Ошибка! " << ble.what() << std::endl; } // тест с некорректным значением try { num = { 1, 0, 0, 0, 1, 0, 1, 3, 0, 1 }; ExtArray ea(num); std::cout << "checkSum = " << ea.checkSum() << std::endl; } catch (std::bad_typeid bte) { std::cout << "Ошибка! " << bte.what() << std::endl; } catch (std::logic_error ble) { std::cout << "Ошибка! " << ble.what() << std::endl; } }