commit 99150a112213281778a204a2206c534284197576 Author: redkiy Date: Thu Nov 14 09:20:52 2024 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e257658 --- /dev/null +++ b/.gitignore @@ -0,0 +1,34 @@ +# ---> C++ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + diff --git a/README.md b/README.md new file mode 100644 index 0000000..fef6cad --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# lab01 + +Репозиторий для первой лабораторной работы по предмету Разработка программного обеспечения систем управления (ИДДО РПОСУ-Б-3-1-ЗаО) \ No newline at end of file diff --git a/code_files/lab01.cpp b/code_files/lab01.cpp new file mode 100644 index 0000000..393038c --- /dev/null +++ b/code_files/lab01.cpp @@ -0,0 +1,76 @@ +#include +#include +#include +#include + +const size_t SCREEN_WIDTH = 80; // Максимальная ширина экрана +const size_t MAX_ASTERISK = SCREEN_WIDTH - 4; // Ограничение на длину столбца + +// Функция для ввода данных: количество чисел и сами числа +void input_data(std::vector& numbers, size_t& bin_count) { + size_t number_count; + std::cerr << "Enter number count: "; + std::cin >> number_count; + + numbers.resize(number_count); + std::cerr << "Enter numbers: "; + for (size_t i = 0; i < number_count; ++i) { + std::cin >> numbers[i]; + } + + std::cerr << "Enter bin count: "; + std::cin >> bin_count; +} + +// Функция для расчета количества чисел в каждой корзине +void calculate_bins(const std::vector& numbers, std::vector& bins, double& min, double& max) { + // Определяем минимальное и максимальное значение для диапазона + min = *std::min_element(numbers.begin(), numbers.end()); + max = *std::max_element(numbers.begin(), numbers.end()); + + // Вычисляем размер каждой корзины + double bin_size = (max - min) / bins.size(); + + // Заполняем корзины, увеличивая счётчик для каждого числа, попадающего в интервал + for (const double& number : numbers) { + size_t bin_index = static_cast((number - min) / bin_size); + if (bin_index >= bins.size()) bin_index = bins.size() - 1; + bins[bin_index]++; + } +} + +// Функция для вывода гистограммы +void print_histogram(const std::vector& bins) { + // Находим максимальное количество чисел в одной корзине для масштабирования + size_t max_count = *std::max_element(bins.begin(), bins.end()); + + // Проверка необходимости масштабирования + bool needs_scaling = max_count > MAX_ASTERISK; + + for (size_t i = 0; i < bins.size(); ++i) { + std::cout << std::setw(3) << std::right << bins[i] << "|"; + + // Рассчитываем высоту столбца с учётом ограничения MAX_ASTERISK + size_t height = needs_scaling ? static_cast(MAX_ASTERISK * static_cast(bins[i]) / max_count) : bins[i]; + + // Выводим звёздочки для визуализации количества элементов + for (size_t j = 0; j < height; ++j) { + std::cout << "*"; + } + std::cout << "\n"; + } +} + +int main() { + std::vector numbers; // Массив чисел + size_t bin_count; // Количество корзин + + input_data(numbers, bin_count); // Ввод данных + + std::vector bins(bin_count, 0); // Инициализируем корзины с нулями + double min, max; + calculate_bins(numbers, bins, min, max); // Подсчёт чисел в корзинах + print_histogram(bins); // Вывод гистограммы + + return 0; +} diff --git a/code_files/lab01.txt b/code_files/lab01.txt new file mode 100644 index 0000000..393038c --- /dev/null +++ b/code_files/lab01.txt @@ -0,0 +1,76 @@ +#include +#include +#include +#include + +const size_t SCREEN_WIDTH = 80; // Максимальная ширина экрана +const size_t MAX_ASTERISK = SCREEN_WIDTH - 4; // Ограничение на длину столбца + +// Функция для ввода данных: количество чисел и сами числа +void input_data(std::vector& numbers, size_t& bin_count) { + size_t number_count; + std::cerr << "Enter number count: "; + std::cin >> number_count; + + numbers.resize(number_count); + std::cerr << "Enter numbers: "; + for (size_t i = 0; i < number_count; ++i) { + std::cin >> numbers[i]; + } + + std::cerr << "Enter bin count: "; + std::cin >> bin_count; +} + +// Функция для расчета количества чисел в каждой корзине +void calculate_bins(const std::vector& numbers, std::vector& bins, double& min, double& max) { + // Определяем минимальное и максимальное значение для диапазона + min = *std::min_element(numbers.begin(), numbers.end()); + max = *std::max_element(numbers.begin(), numbers.end()); + + // Вычисляем размер каждой корзины + double bin_size = (max - min) / bins.size(); + + // Заполняем корзины, увеличивая счётчик для каждого числа, попадающего в интервал + for (const double& number : numbers) { + size_t bin_index = static_cast((number - min) / bin_size); + if (bin_index >= bins.size()) bin_index = bins.size() - 1; + bins[bin_index]++; + } +} + +// Функция для вывода гистограммы +void print_histogram(const std::vector& bins) { + // Находим максимальное количество чисел в одной корзине для масштабирования + size_t max_count = *std::max_element(bins.begin(), bins.end()); + + // Проверка необходимости масштабирования + bool needs_scaling = max_count > MAX_ASTERISK; + + for (size_t i = 0; i < bins.size(); ++i) { + std::cout << std::setw(3) << std::right << bins[i] << "|"; + + // Рассчитываем высоту столбца с учётом ограничения MAX_ASTERISK + size_t height = needs_scaling ? static_cast(MAX_ASTERISK * static_cast(bins[i]) / max_count) : bins[i]; + + // Выводим звёздочки для визуализации количества элементов + for (size_t j = 0; j < height; ++j) { + std::cout << "*"; + } + std::cout << "\n"; + } +} + +int main() { + std::vector numbers; // Массив чисел + size_t bin_count; // Количество корзин + + input_data(numbers, bin_count); // Ввод данных + + std::vector bins(bin_count, 0); // Инициализируем корзины с нулями + double min, max; + calculate_bins(numbers, bins, min, max); // Подсчёт чисел в корзинах + print_histogram(bins); // Вывод гистограммы + + return 0; +} diff --git a/code_files/lab01_12var.cpp b/code_files/lab01_12var.cpp new file mode 100644 index 0000000..9901d99 --- /dev/null +++ b/code_files/lab01_12var.cpp @@ -0,0 +1,78 @@ +#include +#include +#include +#include + +const size_t SCREEN_WIDTH = 80; // Максимальная ширина экрана +const size_t MAX_ASTERISK = SCREEN_WIDTH - 6; // Ограничение на длину столбца, с учетом увеличенного места для подписей + +// Функция для ввода данных: количество чисел и сами числа +void input_data(std::vector& numbers, size_t& bin_count) { + size_t number_count; + std::cerr << "Enter number count: "; + std::cin >> number_count; + + numbers.resize(number_count); + std::cerr << "Enter numbers: "; + for (size_t i = 0; i < number_count; ++i) { + std::cin >> numbers[i]; + } + + std::cerr << "Enter bin count: "; + std::cin >> bin_count; +} + +// Функция для расчета количества чисел в каждой корзине +void calculate_bins(const std::vector& numbers, std::vector& bins, double& min, double& max) { + min = *std::min_element(numbers.begin(), numbers.end()); + max = *std::max_element(numbers.begin(), numbers.end()); + + double bin_size = (max - min) / bins.size(); + + for (const double& number : numbers) { + size_t bin_index = static_cast((number - min) / bin_size); + if (bin_index >= bins.size()) bin_index = bins.size() - 1; + bins[bin_index]++; + } +} + +// Функция для вывода гистограммы с промежуточными границами столбцов +void print_histogram(const std::vector& bins, double min, double max) { + size_t max_count = *std::max_element(bins.begin(), bins.end()); + bool needs_scaling = max_count > MAX_ASTERISK; + double bin_size = (max - min) / bins.size(); + + for (size_t i = 0; i < bins.size(); ++i) { + // Вывод количества элементов с полем в 6 символов + std::cout << std::setw(6) << std::right << bins[i] << "|"; + + // Рассчитываем высоту столбца с учетом ограничения MAX_ASTERISK + size_t height = needs_scaling ? static_cast(MAX_ASTERISK * static_cast(bins[i]) / max_count) : bins[i]; + + // Выводим звездочки для визуализации количества элементов + for (size_t j = 0; j < height; ++j) { + std::cout << "*"; + } + std::cout << "\n"; + + // Выводим промежуточные границы между столбцами (исключая первую границу) + if (i < bins.size() - 1) { + double boundary = min + (i + 1) * bin_size; + std::cout << std::fixed << std::setprecision(2) << boundary << "\n"; + } + } +} + +int main() { + std::vector numbers; + size_t bin_count; + + input_data(numbers, bin_count); + + std::vector bins(bin_count, 0); + double min, max; + calculate_bins(numbers, bins, min, max); + print_histogram(bins, min, max); + + return 0; +} diff --git a/code_files/lab01_12var.txt b/code_files/lab01_12var.txt new file mode 100644 index 0000000..9901d99 --- /dev/null +++ b/code_files/lab01_12var.txt @@ -0,0 +1,78 @@ +#include +#include +#include +#include + +const size_t SCREEN_WIDTH = 80; // Максимальная ширина экрана +const size_t MAX_ASTERISK = SCREEN_WIDTH - 6; // Ограничение на длину столбца, с учетом увеличенного места для подписей + +// Функция для ввода данных: количество чисел и сами числа +void input_data(std::vector& numbers, size_t& bin_count) { + size_t number_count; + std::cerr << "Enter number count: "; + std::cin >> number_count; + + numbers.resize(number_count); + std::cerr << "Enter numbers: "; + for (size_t i = 0; i < number_count; ++i) { + std::cin >> numbers[i]; + } + + std::cerr << "Enter bin count: "; + std::cin >> bin_count; +} + +// Функция для расчета количества чисел в каждой корзине +void calculate_bins(const std::vector& numbers, std::vector& bins, double& min, double& max) { + min = *std::min_element(numbers.begin(), numbers.end()); + max = *std::max_element(numbers.begin(), numbers.end()); + + double bin_size = (max - min) / bins.size(); + + for (const double& number : numbers) { + size_t bin_index = static_cast((number - min) / bin_size); + if (bin_index >= bins.size()) bin_index = bins.size() - 1; + bins[bin_index]++; + } +} + +// Функция для вывода гистограммы с промежуточными границами столбцов +void print_histogram(const std::vector& bins, double min, double max) { + size_t max_count = *std::max_element(bins.begin(), bins.end()); + bool needs_scaling = max_count > MAX_ASTERISK; + double bin_size = (max - min) / bins.size(); + + for (size_t i = 0; i < bins.size(); ++i) { + // Вывод количества элементов с полем в 6 символов + std::cout << std::setw(6) << std::right << bins[i] << "|"; + + // Рассчитываем высоту столбца с учетом ограничения MAX_ASTERISK + size_t height = needs_scaling ? static_cast(MAX_ASTERISK * static_cast(bins[i]) / max_count) : bins[i]; + + // Выводим звездочки для визуализации количества элементов + for (size_t j = 0; j < height; ++j) { + std::cout << "*"; + } + std::cout << "\n"; + + // Выводим промежуточные границы между столбцами (исключая первую границу) + if (i < bins.size() - 1) { + double boundary = min + (i + 1) * bin_size; + std::cout << std::fixed << std::setprecision(2) << boundary << "\n"; + } + } +} + +int main() { + std::vector numbers; + size_t bin_count; + + input_data(numbers, bin_count); + + std::vector bins(bin_count, 0); + double min, max; + calculate_bins(numbers, bins, min, max); + print_histogram(bins, min, max); + + return 0; +} diff --git a/run_tests.bat b/run_tests.bat new file mode 100644 index 0000000..9444823 --- /dev/null +++ b/run_tests.bat @@ -0,0 +1,121 @@ +@echo off +REM Пути к тестовым файлам для базовой версии и варианта 12 +set input_dir=tests\base_version\input +set expected_dir=tests\base_version\expected +set actual_dir=tests\base_version\actual + +set var12_input_dir=tests\var12_version\input +set var12_expected_dir=tests\var12_version\expected +set var12_actual_dir=tests\var12_version\actual + +REM Переменные для подсчета непройденных тестов +set /a failed_tests=0 +set /a var12_failed_tests=0 + +REM Создаем папки для результатов, если они не существуют +if not exist %actual_dir% mkdir %actual_dir% +if not exist %var12_actual_dir% mkdir %var12_actual_dir% + +REM --- Базовые тесты --- +echo Running Base Test 1 +lab01.exe < %input_dir%\01-scaling.input.txt > %actual_dir%\01-scaling.actual.txt 2>NUL +fc /N %actual_dir%\01-scaling.actual.txt %expected_dir%\01-scaling.expected.txt >nul +if %errorlevel% equ 0 ( + echo Base Test 1 passed +) else ( + echo Base Test 1 failed + set /a failed_tests+=1 + fc /N %actual_dir%\01-scaling.actual.txt %expected_dir%\01-scaling.expected.txt +) +echo --------------------------------------------------- + +echo Running Base Test 2 +lab01.exe < %input_dir%\02-scaling.input.txt > %actual_dir%\02-scaling.actual.txt 2>NUL +fc /N %actual_dir%\02-scaling.actual.txt %expected_dir%\02-scaling.expected.txt >nul +if %errorlevel% equ 0 ( + echo Base Test 2 passed +) else ( + echo Base Test 2 failed + set /a failed_tests+=1 + fc /N %actual_dir%\02-scaling.actual.txt %expected_dir%\02-scaling.expected.txt +) +echo --------------------------------------------------- + +echo Running Base Test 3 +lab01.exe < %input_dir%\03-scaling.input.txt > %actual_dir%\03-scaling.actual.txt 2>NUL +fc /N %actual_dir%\03-scaling.actual.txt %expected_dir%\03-scaling.expected.txt >nul +if %errorlevel% equ 0 ( + echo Base Test 3 passed +) else ( + echo Base Test 3 failed + set /a failed_tests+=1 + fc /N %actual_dir%\03-scaling.actual.txt %expected_dir%\03-scaling.expected.txt +) +echo --------------------------------------------------- + +echo Running Base Test 4 +lab01.exe < %input_dir%\04-scaling.input.txt > %actual_dir%\04-scaling.actual.txt 2>NUL +fc /N %actual_dir%\04-scaling.actual.txt %expected_dir%\04-scaling.expected.txt >nul +if %errorlevel% equ 0 ( + echo Base Test 4 passed +) else ( + echo Base Test 4 failed + set /a failed_tests+=1 + fc /N %actual_dir%\04-scaling.actual.txt %expected_dir%\04-scaling.expected.txt +) +echo --------------------------------------------------- + +REM --- Тесты варианта 12 --- +echo Running Var12 Test 1 +lab01_12var.exe < %var12_input_dir%\01-scaling.input.txt > %var12_actual_dir%\01-scaling.actual.txt 2>NUL +fc /N %var12_actual_dir%\01-scaling.actual.txt %var12_expected_dir%\01-scaling.expected.txt >nul +if %errorlevel% equ 0 ( + echo Var12 Test 1 passed +) else ( + echo Var12 Test 1 failed + set /a var12_failed_tests+=1 + fc /N %var12_actual_dir%\01-scaling.actual.txt %var12_expected_dir%\01-scaling.expected.txt +) +echo --------------------------------------------------- + +echo Running Var12 Test 2 +lab01_12var.exe < %var12_input_dir%\02-scaling.input.txt > %var12_actual_dir%\02-scaling.actual.txt 2>NUL +fc /N %var12_actual_dir%\02-scaling.actual.txt %var12_expected_dir%\02-scaling.expected.txt >nul +if %errorlevel% equ 0 ( + echo Var12 Test 2 passed +) else ( + echo Var12 Test 2 failed + set /a var12_failed_tests+=1 + fc /N %var12_actual_dir%\02-scaling.actual.txt %var12_expected_dir%\02-scaling.expected.txt +) +echo --------------------------------------------------- + +echo Running Var12 Test 3 +lab01_12var.exe < %var12_input_dir%\03-scaling.input.txt > %var12_actual_dir%\03-scaling.actual.txt 2>NUL +fc /N %var12_actual_dir%\03-scaling.actual.txt %var12_expected_dir%\03-scaling.expected.txt >nul +if %errorlevel% equ 0 ( + echo Var12 Test 3 passed +) else ( + echo Var12 Test 3 failed + set /a var12_failed_tests+=1 + fc /N %var12_actual_dir%\03-scaling.actual.txt %var12_expected_dir%\03-scaling.expected.txt +) +echo --------------------------------------------------- + +echo Running Var12 Test 4 +lab01_12var.exe < %var12_input_dir%\04-scaling.input.txt > %var12_actual_dir%\04-scaling.actual.txt 2>NUL +fc /N %var12_actual_dir%\04-scaling.actual.txt %var12_expected_dir%\04-scaling.expected.txt >nul +if %errorlevel% equ 0 ( + echo Var12 Test 4 passed +) else ( + echo Var12 Test 4 failed + set /a var12_failed_tests+=1 + fc /N %var12_actual_dir%\04-scaling.actual.txt %var12_expected_dir%\04-scaling.expected.txt +) +echo --------------------------------------------------- + +REM Вывод итогов +echo All tests completed. +echo Number of failed base tests: %failed_tests% +echo Number of failed Var12 tests: %var12_failed_tests% +pause diff --git a/tests/base_version/actual/01-scaling.actual.txt b/tests/base_version/actual/01-scaling.actual.txt new file mode 100644 index 0000000..430e5ce --- /dev/null +++ b/tests/base_version/actual/01-scaling.actual.txt @@ -0,0 +1,5 @@ + 2|** + 2|** + 2|** + 2|** + 2|** diff --git a/tests/base_version/actual/02-scaling.actual.txt b/tests/base_version/actual/02-scaling.actual.txt new file mode 100644 index 0000000..b9a73a9 --- /dev/null +++ b/tests/base_version/actual/02-scaling.actual.txt @@ -0,0 +1,3 @@ + 3|*** + 2|** + 3|*** diff --git a/tests/base_version/actual/03-scaling.actual.txt b/tests/base_version/actual/03-scaling.actual.txt new file mode 100644 index 0000000..693ba1a --- /dev/null +++ b/tests/base_version/actual/03-scaling.actual.txt @@ -0,0 +1,3 @@ + 9|****** + 33|************************* +100|**************************************************************************** diff --git a/tests/base_version/actual/04-scaling.actual.txt b/tests/base_version/actual/04-scaling.actual.txt new file mode 100644 index 0000000..1aee645 --- /dev/null +++ b/tests/base_version/actual/04-scaling.actual.txt @@ -0,0 +1,2 @@ + 5|***** + 0| diff --git a/tests/base_version/expected/01-scaling.expected.txt b/tests/base_version/expected/01-scaling.expected.txt new file mode 100644 index 0000000..430e5ce --- /dev/null +++ b/tests/base_version/expected/01-scaling.expected.txt @@ -0,0 +1,5 @@ + 2|** + 2|** + 2|** + 2|** + 2|** diff --git a/tests/base_version/expected/02-scaling.expected.txt b/tests/base_version/expected/02-scaling.expected.txt new file mode 100644 index 0000000..b9a73a9 --- /dev/null +++ b/tests/base_version/expected/02-scaling.expected.txt @@ -0,0 +1,3 @@ + 3|*** + 2|** + 3|*** diff --git a/tests/base_version/expected/03-scaling.expected.txt b/tests/base_version/expected/03-scaling.expected.txt new file mode 100644 index 0000000..693ba1a --- /dev/null +++ b/tests/base_version/expected/03-scaling.expected.txt @@ -0,0 +1,3 @@ + 9|****** + 33|************************* +100|**************************************************************************** diff --git a/tests/base_version/expected/04-scaling.expected.txt b/tests/base_version/expected/04-scaling.expected.txt new file mode 100644 index 0000000..1aee645 --- /dev/null +++ b/tests/base_version/expected/04-scaling.expected.txt @@ -0,0 +1,2 @@ + 5|***** + 0| diff --git a/tests/base_version/input/01-scaling.input.txt b/tests/base_version/input/01-scaling.input.txt new file mode 100644 index 0000000..14abdfb --- /dev/null +++ b/tests/base_version/input/01-scaling.input.txt @@ -0,0 +1,3 @@ +10 +1 2 3 4 5 6 7 8 9 10 +5 \ No newline at end of file diff --git a/tests/base_version/input/02-scaling.input.txt b/tests/base_version/input/02-scaling.input.txt new file mode 100644 index 0000000..afa690a --- /dev/null +++ b/tests/base_version/input/02-scaling.input.txt @@ -0,0 +1,3 @@ +8 +2.5 2.7 3.1 3.9 4.2 4.8 5.1 5.9 +3 diff --git a/tests/base_version/input/03-scaling.input.txt b/tests/base_version/input/03-scaling.input.txt new file mode 100644 index 0000000..2539400 --- /dev/null +++ b/tests/base_version/input/03-scaling.input.txt @@ -0,0 +1,5 @@ +142 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +3 diff --git a/tests/base_version/input/04-scaling.input.txt b/tests/base_version/input/04-scaling.input.txt new file mode 100644 index 0000000..11eb90c --- /dev/null +++ b/tests/base_version/input/04-scaling.input.txt @@ -0,0 +1,3 @@ +5 +4 4 4 4 4 +2 diff --git a/tests/var12_version/actual/01-scaling.actual.txt b/tests/var12_version/actual/01-scaling.actual.txt new file mode 100644 index 0000000..398ca60 --- /dev/null +++ b/tests/var12_version/actual/01-scaling.actual.txt @@ -0,0 +1,9 @@ + 2|** +2.80 + 2|** +4.60 + 2|** +6.40 + 2|** +8.20 + 2|** diff --git a/tests/var12_version/actual/02-scaling.actual.txt b/tests/var12_version/actual/02-scaling.actual.txt new file mode 100644 index 0000000..579161f --- /dev/null +++ b/tests/var12_version/actual/02-scaling.actual.txt @@ -0,0 +1,5 @@ + 3|*** +3.63 + 2|** +4.77 + 3|*** diff --git a/tests/var12_version/actual/03-scaling.actual.txt b/tests/var12_version/actual/03-scaling.actual.txt new file mode 100644 index 0000000..c08e26c --- /dev/null +++ b/tests/var12_version/actual/03-scaling.actual.txt @@ -0,0 +1,5 @@ + 9|****** +1.67 + 33|************************ +2.33 + 100|************************************************************************** diff --git a/tests/var12_version/actual/04-scaling.actual.txt b/tests/var12_version/actual/04-scaling.actual.txt new file mode 100644 index 0000000..f45247a --- /dev/null +++ b/tests/var12_version/actual/04-scaling.actual.txt @@ -0,0 +1,3 @@ + 5|***** +4.00 + 0| diff --git a/tests/var12_version/expected/01-scaling.expected.txt b/tests/var12_version/expected/01-scaling.expected.txt new file mode 100644 index 0000000..88c9260 --- /dev/null +++ b/tests/var12_version/expected/01-scaling.expected.txt @@ -0,0 +1,9 @@ + 2|** +2.80 + 2|** +4.60 + 2|** +6.40 + 2|** +8.20 + 2|** \ No newline at end of file diff --git a/tests/var12_version/expected/02-scaling.expected.txt b/tests/var12_version/expected/02-scaling.expected.txt new file mode 100644 index 0000000..7f80ff1 --- /dev/null +++ b/tests/var12_version/expected/02-scaling.expected.txt @@ -0,0 +1,5 @@ + 3|*** +3.63 + 2|** +4.77 + 3|*** \ No newline at end of file diff --git a/tests/var12_version/expected/03-scaling.expected.txt b/tests/var12_version/expected/03-scaling.expected.txt new file mode 100644 index 0000000..c08e26c --- /dev/null +++ b/tests/var12_version/expected/03-scaling.expected.txt @@ -0,0 +1,5 @@ + 9|****** +1.67 + 33|************************ +2.33 + 100|************************************************************************** diff --git a/tests/var12_version/expected/04-scaling.expected.txt b/tests/var12_version/expected/04-scaling.expected.txt new file mode 100644 index 0000000..f45247a --- /dev/null +++ b/tests/var12_version/expected/04-scaling.expected.txt @@ -0,0 +1,3 @@ + 5|***** +4.00 + 0| diff --git a/tests/var12_version/input/01-scaling.input.txt b/tests/var12_version/input/01-scaling.input.txt new file mode 100644 index 0000000..14abdfb --- /dev/null +++ b/tests/var12_version/input/01-scaling.input.txt @@ -0,0 +1,3 @@ +10 +1 2 3 4 5 6 7 8 9 10 +5 \ No newline at end of file diff --git a/tests/var12_version/input/02-scaling.input.txt b/tests/var12_version/input/02-scaling.input.txt new file mode 100644 index 0000000..afa690a --- /dev/null +++ b/tests/var12_version/input/02-scaling.input.txt @@ -0,0 +1,3 @@ +8 +2.5 2.7 3.1 3.9 4.2 4.8 5.1 5.9 +3 diff --git a/tests/var12_version/input/03-scaling.input.txt b/tests/var12_version/input/03-scaling.input.txt new file mode 100644 index 0000000..2539400 --- /dev/null +++ b/tests/var12_version/input/03-scaling.input.txt @@ -0,0 +1,5 @@ +142 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +3 diff --git a/tests/var12_version/input/04-scaling.input.txt b/tests/var12_version/input/04-scaling.input.txt new file mode 100644 index 0000000..11eb90c --- /dev/null +++ b/tests/var12_version/input/04-scaling.input.txt @@ -0,0 +1,3 @@ +5 +4 4 4 4 4 +2