main
			
			
		
		
							Родитель
							
								
									533ca0cdee
								
							
						
					
					
						Сommit
						da71b97e7c
					
				@ -1,66 +1,83 @@
 | 
				
			|||||||
#include <iostream>
 | 
					#include <iostream>
 | 
				
			||||||
#include <vector>
 | 
					#include <vector>
 | 
				
			||||||
 | 
					#include <cmath>
 | 
				
			||||||
 | 
					#include <string>
 | 
				
			||||||
 | 
					#include "histogram.h"
 | 
				
			||||||
 | 
					#include "text.h"
 | 
				
			||||||
#include <conio.h>
 | 
					#include <conio.h>
 | 
				
			||||||
 | 
					#include "histogram_internal.h"
 | 
				
			||||||
using namespace std;
 | 
					#include <curl/curl.h>
 | 
				
			||||||
 | 
					#include <sstream>
 | 
				
			||||||
 | 
					#include "svg.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using namespace std;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct Input
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					vector<double> numbers;
 | 
				
			||||||
 | 
					size_t bin_count{};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int main()
 | 
					Input
 | 
				
			||||||
 | 
					input_data(istream &tin, bool promt)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					Input in;
 | 
				
			||||||
size_t number_count;
 | 
					size_t number_count;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cerr << "Enter number count: ";              //количество чисел
 | 
					if (promt)
 | 
				
			||||||
cin >> number_count;
 | 
					{
 | 
				
			||||||
 | 
					    cerr << "enter number count";
 | 
				
			||||||
vector<double> numbers(number_count);         //векток с числами
 | 
					}
 | 
				
			||||||
 | 
					tin>> number_count;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for(size_t i=0; i < number_count; i++)       //заполнение вектора
 | 
					 | 
				
			||||||
    cin >> numbers[i];
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
size_t bin_count;                               //количество корзин
 | 
					 | 
				
			||||||
cerr << "Enter bin count: ";
 | 
					 | 
				
			||||||
cin >> bin_count;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
vector<size_t> bins(bin_count);
 | 
					in.numbers.resize(number_count);
 | 
				
			||||||
 | 
					for (size_t i = 0; i < number_count; i++)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					in>> in.numbers[i];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
double min;
 | 
					if (promt)
 | 
				
			||||||
min = numbers[0];
 | 
					{
 | 
				
			||||||
for (size_t i = 1; i < numbers.size(); i++)
 | 
					    cerr<<"enter bin count:";
 | 
				
			||||||
    if (numbers[i] < min)
 | 
					}
 | 
				
			||||||
        min = numbers[i];
 | 
					in >>in.bin_count;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					return in;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
double max;
 | 
					 | 
				
			||||||
max = numbers[0];
 | 
					 | 
				
			||||||
for (size_t i = 1; i < numbers.size(); i++)
 | 
					 | 
				
			||||||
    if (numbers[i] > max)
 | 
					 | 
				
			||||||
        max = numbers[i];
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
double bin_size = (max - min) / bin_count;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
for (size_t i = 0; i < number_count; i++) {
 | 
					int main(int arg, char* argv[])
 | 
				
			||||||
    bool found = false;
 | 
					{
 | 
				
			||||||
    for (size_t j = 0; (j < bin_count - 1) && !found; j++) {
 | 
					    if (arg > 1)
 | 
				
			||||||
        auto lo = min + j * bin_size;
 | 
					    {
 | 
				
			||||||
        auto hi = min + (j + 1) * bin_size;
 | 
					        CURL* curl = curl_easy_init();
 | 
				
			||||||
        if ((lo <= numbers[i]) && (numbers[i] < hi)) {
 | 
					        if(curl)
 | 
				
			||||||
            bins[j]++;
 | 
					        {
 | 
				
			||||||
            found = true;
 | 
					            CURLcode res;
 | 
				
			||||||
 | 
					            curl_easy_setopt(curl,CURLOPT_URL,argv[1]);
 | 
				
			||||||
 | 
					            res = curl_easy_perform(curl);
 | 
				
			||||||
 | 
					            curl_easy_cleanup(curl);
 | 
				
			||||||
 | 
					            if (res != CURE_OK)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                cout<<curl_easy_strerror;
 | 
				
			||||||
 | 
					                exit(1);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
     if (!found) {
 | 
					        return 0;
 | 
				
			||||||
        bins[bin_count - 1]++;
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
for (size_t i=0; i<bins.size(); i++)
 | 
					Input in = input_data();
 | 
				
			||||||
    {cout << bins[i] << "|";
 | 
					char arr[bin_count];
 | 
				
			||||||
    for (size_t j=0; j<bins[i]; j++)
 | 
					for(int i=0; i<bin_count;i++)
 | 
				
			||||||
        cout << "*";
 | 
					{
 | 
				
			||||||
    cout << "\n" ;
 | 
					    cin>>arr[i];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					auto bins = make_histogram(in.numbers, in.bin_count);
 | 
				
			||||||
    return 0;
 | 
					show_histogram_svg(bins);
 | 
				
			||||||
 | 
					return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
					Загрузка…
					
					
				
		Ссылка в новой задаче