code: Добавлена функция find_max

main
SukhotinMD 3 недель назад
Родитель d056da7c77
Сommit 934f4788fb

1
.gitignore поставляемый

@ -1,4 +1,5 @@
ProgUit Lab1.vcxproj ProgUit Lab1.vcxproj
ProgUit Lab1.vcxproj.filters ProgUit Lab1.vcxproj.filters
ProgUit Lab1.vcxproj.user ProgUit Lab1.vcxproj.user
ProgUit Lab1/ARM64
/ARM64 /ARM64

@ -11,6 +11,7 @@ struct Input {
}; };
Input Input
input_data() { input_data() {
// Функция ввода // Функция ввода
//Создание переменных //Создание переменных
@ -38,6 +39,15 @@ input_data() {
return in; return in;
} }
void
find_minmax(const vector<double>& numbers, double& min_in_numbers, double& max_in_numbers) {
min_in_numbers = numbers[0];
max_in_numbers = *(max_element(begin(numbers), end(numbers)));
min_in_numbers = *(min_element(begin(numbers), end(numbers)));
}
int main() int main()
{ {
@ -53,21 +63,23 @@ int main()
// Объявление перменных промежуточных/вывода // Объявление перменных промежуточных/вывода
vector <size_t> bins(bin_count); vector <size_t> bins(in.bin_count);
double max_in_numbers = *(max_element(begin(numbers), end(numbers)));
double min_in_numbers = *(min_element(begin(numbers), end(numbers))); double min_in_numbers, max_in_numbers;
find_minmax(in.numbers, min_in_numbers, max_in_numbers);
double bin_size = (max_in_numbers - min_in_numbers) / bin_count; double bin_size = (max_in_numbers - min_in_numbers) / in.bin_count;
int max_in_bins = 0; int max_in_bins = 0;
// Код // Код
for (size_t i = 0; i < number_count; i++) { for (size_t i = 0; i < in.numbers.size(); i++) {
int to_bin = int((numbers[i]) - min_in_numbers) / bin_size; int to_bin = int((in.numbers[i]) - min_in_numbers) / bin_size;
if (to_bin >= bin_count) { if (to_bin >= in.bin_count) {
bins[to_bin - 1]++; bins[to_bin - 1]++;
} }
else { else {
@ -75,7 +87,7 @@ int main()
} }
} }
// Максимальное в коорзинах // Максимальное в коорзинах
for (int i = 0; i < bin_count; i++) { for (int i = 0; i < in.bin_count; i++) {
if (bins[i] > max_in_bins) { if (bins[i] > max_in_bins) {
max_in_bins = bins[i]; max_in_bins = bins[i];
} }
@ -84,7 +96,7 @@ int main()
if (max_in_bins > MAX_ASTERISK) { if (max_in_bins > MAX_ASTERISK) {
for (int i = 0; i < bin_count; i++) { for (int i = 0; i < in.bin_count; i++) {
if (bins[i] < 100) { if (bins[i] < 100) {
cout << " "; cout << " ";
} }
@ -105,7 +117,7 @@ int main()
} else { } else {
// Если максимальное число среди коорзин меньше или равно 76 // Если максимальное число среди коорзин меньше или равно 76
for (int i = 0; i < bin_count; i++) { for (int i = 0; i < in.bin_count; i++) {
if (bins[i] < 100) { if (bins[i] < 100) {
cout << " "; cout << " ";
} }

Загрузка…
Отмена
Сохранить