Родитель
							
								
									2f9220ab7a
								
							
						
					
					
						Сommit
						81d46b5556
					
				| @ -0,0 +1,36 @@ | ||||
| #include "histogram.h" | ||||
| #include <vector> | ||||
| 
 | ||||
| //Ôóíêöèÿ ïîèñêà ìèíèìóìà è ìàêñèììóìà
 | ||||
| static void find_minmax(const std::vector<double>& 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]; | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| //Ôóíêöèÿ ðàñ÷¸òà ãèñòîãðàììû
 | ||||
| std::vector<size_t> make_histogram(const std::vector<double>& Numbers, size_t bin_count){ | ||||
|     //Îïðåäåëåíèå øàãà ìåæäó êîðçèíàìè
 | ||||
|     double Max, Min; | ||||
|     find_minmax(Numbers, Min, Max); | ||||
| 	double bin_size = (Max-Min) / bin_count; | ||||
| 	//Ìàññèâ êîðçèí
 | ||||
| 	std::vector<size_t> bins(bin_count); | ||||
| 	for (size_t i = 0; i < bin_count; i++) // îáíóëåíèå êîðçèí
 | ||||
| 		bins[i] = 0; | ||||
| 	for (size_t i = 0; i < bin_count; i++) { | ||||
| 		double lo = Min + i * bin_size; | ||||
| 		double hi = Min + (i + 1) * bin_size; | ||||
| 		for (size_t j = 0; j < Numbers.size(); j++) { | ||||
| 			if (lo <= Numbers[j] && Numbers[j] <= hi) | ||||
| 				bins[i]++; | ||||
| 		} | ||||
| 	} | ||||
| 	return bins; | ||||
| } | ||||
					Загрузка…
					
					
				
		Ссылка в новой задаче