Я программирую в Code Blocks в ОС Windows. Мне пришлось использовать некоторые библиотеки GSL в приведенном ниже коде, но я получаю сообщение об ошибке в строке 13, несовместимый тип для аргумента 1 'gsl_rng_uniform.
double randomBR = gsl_rng_uniform(r)*360+6;
и я не знаю, как это исправить. Под сообщением об ошибке в файле gsl_rng.h есть строка 150, показывающая: «ожидается 'const struct gsl_rng *', но аргумент имеет тип 'double'».
#include <stdio.h>
#include <gsl_vector.h>
#include <gsl_rng.h>
int main()
{
gsl_vector*vec=gsl_vector_alloc(100);
double z, max, min, r;
int k=100, i, pos;
for (i=0; i<k; i++){
double randomBR = gsl_rng_uniform(r)*360+6;
z=((int)(gsl_rng_uniform)(r)*360+6);
gsl_vector_set(vec, i, z);
}
max=gsl_vector_max(vec);
pos_vector_max_index(vec);
min=gsl_vector_min)(vec);
pos_vector_min_index(vec);
if (max == 360)
{
printf("Max number generated in box %d", pos);
}
if (max < 366)
{
printf("Max number is %f, position %d", max, pos);
}
return 0;
}