diff --git a/main.cpp b/main.cpp index 0c677dd..939aec7 100644 --- a/main.cpp +++ b/main.cpp @@ -4,20 +4,49 @@ #include #include using namespace std; -int main() { - const size_t SCREEN_WIDTH = 80; - const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 3; - size_t number_count, bin_count; - //Ввод количества элементов массива + +//Создание структуры Input для входных данных + struct Input { + vector Numbers; + size_t bin_count{}; + }; + +//Функция ввода +Input input_data(){ + size_t number_count; + Input stct; + //Ввод количества элементов массива cerr << "Enter number count "; cin >> number_count; - //Ввод массива + //Ввод массива vector Numbers(number_count); + stct.Numbers.resize(number_count); cerr << "Enter array:\n"; cin >> Numbers[0]; for (int i = 1; i < number_count; i++) { - cin >> Numbers[i]; + cin >> stct.Numbers[i]; } + //Ввод количества корзин + cerr << "Enter bin count\n"; + cin >> stct.bin_count; + //Возвращаем структуру + return stct; +} + +//Функция поиска минимума и максиммума +void find_minmax(const vector& numbers, double& Min, double& Max){ + Min = numbers[0]; + Max = numbers[0]; + for (int i = 1; i < numbers.size(); i++) { + if (numbers[i] > Max) + Max = numbers[i]; + if (numbers[i] < Min) + Min = numbers[i]; + } + +} + +/* //Поиск максимума double max = Numbers[0]; for (int i = 1; i < number_count; i++) { @@ -30,10 +59,21 @@ int main() { if (Numbers[i] < min) min = Numbers[i]; } - //Ввод количества корзин - cerr << "Enter bin count\n"; - cin >> bin_count; + */ + +int main() { + const size_t SCREEN_WIDTH = 80; + const size_t MAX_ASTERISK = SCREEN_WIDTH - 3 - 3; + + //Ввод массива и количества корзин + Input in = input_data(); + + //Определение минимума и максимума + double max, min; + find_minmax(in.Numbers, min, max); + + /* //Определение шага между корзинами double bin_size = (max - min) / bin_count; //Массив корзин @@ -92,5 +132,6 @@ int main() { cout << "\n"; } } + */ return 0; }