Среднее и максимальное вектора с использованием функций - PullRequest
0 голосов
/ 29 апреля 2019

Я программирую метод, который находит среднее, максимум 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 генерируется ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...