Создать функцию, определяющую среднее арифметическое значение элементов вектора - C (СИ)
Формулировка задачи:
Добрый день, помогите исправить ошибку в программе.
Создать функцию, определяющую среднее арифметическое значение элементов вектора vectorn, находящихся между вторыми по значению максимальным и минимальным его элементами. Предусмотреть случай, когда таких элементов нет.
пишет ошибку 19: warning: passing argument 2 of 'function' from incompatible pointer type(предупреждение: мимолетный аргумент 2 из 'функции' от несовместимого типа указателя)
#include <conio.h> #include <math.h> #include <stdio.h> #include <time.h> int function(int n, int *vector); int main() { int i,n,v_max,v_min;//v_max,v_min - диапазоны значений в которых генерируем эл-ты вектора printf("Input n in vector = "); scanf("%d",n); printf("min="); scanf("%d",v_min); printf("max="); scanf("%d",v_max); int vector[n]; for(i=0;i<n;i++) *(vector+i)=random(v_max-v_min+1)+v_min; int t=function(n,&vector); printf("Среднее арифметическое значение между вторым max и вторым min=%d",t); } int function(int n, int *vector) { int max1,max2,min1,min2,i,numberMax=0,numberMin=0,temp,k=0,summ=0; max1=min1=*vector; for(i=0;i<n;i++) { //находим первые мин. и макс. эл-ты if (*(vector+i)>max1) max1=*(vector+i); if (*(vector+i)<min1) min1=*(vector+i); } min2=max1; max2=min1; for(i=0;i<n;i++) { //находим вторые по знач. мax и min (min2,max2) if ((min2>*(vector+i)) && (*(vector+i)!=min1)) {min2=*(vector+i);numberMin=i;} if ((max2<*(vector+i)) &&(*(vector+i)!=max1)) {max2=*(vector+i);numberMax=i;} } if (numberMin>numberMax) {temp=numberMin;numberMin=numberMax;numberMax=temp;} if((min2==max1) || (max2==min1)) {printf("второго по значению максимума/минимума - нет!");} else { for(i=(numberMin+1);i<numberMax;i++) { summ+=*(vector+i); k++; //считаем кол-во элементов которые мы суммируем для получения ср. арифметич. знач. } } if (k==0) return 0; else return summ/k; }
Решение задачи: «Создать функцию, определяющую среднее арифметическое значение элементов вектора»
textual
Листинг программы
int t=function(n,vector);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д