Я программирую метод, который находит среднее, максимум 100 чисел, хранящихся в векторе.
Далее я показываю код, который я делаю.
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int points[100];
int main()
{
int i;
int k=sizeof(points)/sizeof(int);
double points_moy(int[]);
int points_max(int[]);
for (i = 0; i < k; i++) {
points[i] = rand()%121;
printf("%i-",points[i]); //I show the vector
}
printf("\n mean=%f\n", points_moy(points)); // I show the mean
printf("\n max=%i \n", points_max(points));// I show the max,
//here is the
//"error"
return 0;
}
double points_moy( int points[]) {
int sum=0, i;
int m=sizeof(points)/sizeof(int);
for(i=0; i<m; i++){
sum=sum+points[i];
}
return((float)sum/m);
}
int points_max(int vec[]) {
int i;
int max=vec[0];
int len=sizeof(vec)/sizeof(int);
for (i = 0; i < len; i++) {
if (vec[i] > max) {
max = vec[i];
}
}
return max;
}
Создайте метод, чтобы найти максимум, но в момент его вызова и компиляции алгоритма он показывает мне неверное значение (в большинстве компиляций max = 7, но должно быть max = 119).
Iне знаю, есть ли у функции points_max какая-либо проблема, или при вызове функции в main генерируется ошибка.