Проблема с циклом. Функции С++

Даны массивы a(3,4), b(2,5). Найти Z = (Ma+Mb)/(da+db), где Ma ,Mb - среднеарифметические значения массивов A, B. da, db - максимальные отклонения от среднеарифметических значений.

    #include <iostream>
using namespace std;

void Print_arrays_A_B(float* arrA, float* arrB)//вывод массивов A и B на экран.
{
    for (int i=0; i<2; i++)
    {
        cout<<"Array A:" << arrA[i]<<endl;
    }
    for (int i=0; i<2; i++)
    {
        cout <<"Array B:"<< arrB[i]<<endl;
    }
}
float Mean_arrays_A_B(float* arrA, float *arrB)//вычисление среднеарифметического массивов
{
    float SA=0;
    float SB=0;
    for (int i=0; i<2; i++)
    {
        SA=SA+arrA[i];
    }
    for (int i=0; i<2; i++)
    {
        SB=SA+arrB[i];
    }
    SA=SA/2;
    SB=SB/2;
    return SA;
    return SB;
}
float Dev_Mean(float* arrA, float* arrB, float* Ma_arrA, float* Mb_arrB)
{
  const int sizedev_arr=2;
  float dev_arrA[sizedev_arr];
  for (int i=0; i<2; i++ ) 
  {
      dev_arrA[i]=arrA[i]-Ma_arrA;
  }
}

int main()
{
 setlocale(LC_ALL, "ru");
 float Ma_arrA;//Переменная среднеарифметического массива A
 float Mb_arrB;//Переменная среднеарифметического массива B
 float arrA[2]={3, 4};//массив А
 float arrB[2]={2, 5};//массив B
 Print_arrays_A_B(arrA, arrB);//отправление массива A и B
 Mean_arrays_A_B(arrA, arrB);//отправление массива A и B
 Ma_arrA=Mean_arrays_A_B(arrA, arrB);//Присвоение значений, вычисленных в функции
 Mb_arrB=Mean_arrays_A_B(arrB, arrB);//Присвоение значений, вычисленных в функции
 Dev_Mean(arrA, arrB, Ma_arrA, Mb_arrB);
 cout <<"Среднеарифметическое массива А:"<< Ma_arrA<<endl;
 cout <<"Среднеарифметическое массива B:"<< Mb_arrB;
}

Проблема с функцией Dev_Mean, которая должна считать отклонение от среднеарифметического. Я решил считать его так. Создать массив и заполнить его элементами разницы массиваА-среднеарифметическое. Затем искать в этом массиве максимальный элемент(этот кусок еще не написан, тк у меня возникла проблема). Помогите пожалуйста, укажите на причину, по которой не работает присвоение элементов массиву dev_arrA.


Ответы (1 шт):

Автор решения: MBo

Разыменуйте указательную переменную

dev_arrA[i]=arrA[i]- *Ma_arrA;

Но вообще в данном случае, вероятно, нет смысла передавать аргумент по адресу, ведь он не меняется внутри функции.

→ Ссылка