#include <stdio.h>
#include <stdlib.h>
#include "vector_utils.h"
#include "tested_declarations.h"
#include "rdebug.h"
int read_vector_float(float *vec, int size, float stop_value)
{
if(vec == NULL || size <= 0 ) return -1;
int sizeD = 0;
for(int i=0; i<size; i++)
{
if(scanf("%f", &(*(vec+i))) != 1)
{
return -1;
}
if(*(vec+0) == 0)
{
return 0;
}
sizeD++;
if(*(vec+i) == stop_value)
{
sizeD--;
break;
}
}
return sizeD;
}
int create_histogram(const float *vec, int size, int *out, int out_size)
{
if(vec == NULL || size <= 0 || out == NULL || out_size <= 0) return 1;
memset(out, 0, 100 * sizeof(float));
for(int j = 0; j < size; j++)
{
if(*(vec + j) >= 0 && *(vec + j) < 1 )
{
*(out + 0) += 1;
}
if(*(vec + j) >= 1 && *(vec + j) < 2 )
{
*(out + 1) += 1;
}
if(*(vec + j) >= 2 && *(vec + j) < 3 )
{
*(out + 2) += 1;
}
if(*(vec + j) >= 3 && *(vec + j) < 4 )
{
*(out + 3) += 1;
}
if(*(vec + j) >= 4 && *(vec + j) < 5 )
{
*(out + 4) += 1;
}
if(*(vec + j) >= 5 && *(vec + j) < 6 )
{
*(out + 5) += 1;
}
if(*(vec + j) >= 6 && *(vec + j) < 7 )
{
*(out + 6) += 1;
}
if(*(vec + j) >= 7 && *(vec + j) < 8 )
{
*(out + 7) += 1;
}
if(*(vec + j) >= 8 && *(vec + j) < 9 )
{
*(out + 8) += 1;
}
if(*(vec + j) >= 9 && *(vec + j) < 10 )
{
*(out + 9) += 1;
}
if(*(vec + j) >= 10 && *(vec + j) < 11 )
{
*(out + 10) += 1;
}
}
return 0;
}
void display_vector(const int* tab, int size)
{
int i;
for(i=0; i<size; i++)
{
printf("%d ", *(tab+i));
}
}