Не удается запрограммировать целевую функцию
Ребят, я уже который день делаю эту лаб работу. Я не знаю что я делаю не так, что у меня выходят не те значения что в таблице. Само задание: https://dropmefiles.com/1laVx
Мой код:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
// задаем двумерный массив(матрицу) n x m
int n,m;
cout<<"Кол-во предприятий? ";
cin>>n;
cout<<"Кол-во вкладов? ";
cin>>m;
// задаем вклады. понадобятся для оформления
int* vklad=new int[m];
cout<<" назовите эти вклады"<< endl;
for (int i=0; i<m; i++)
{
cin>>vklad[i];
cout<<endl;
}
// Создание того самого массива
int** A= new int*[n];
for (int i=0;i<n;i++)
{
A[i]=new int[m];
}
// вводим значения f1, f2, f3, f4 из Таблицы 1
for (int i=0; i<n; i++)
{
cout<< "Введите функцию прироста продукции для преприятия f"<< i+1 << endl;
for (int j=0; j<m; j++)
{
cout<< "при вкладе "<< vklad[j] << " у.е" << endl;
cin>> A[i][j];
}
}
// вот здесь я хотел запрограммировать ту самую целевую функцию из задания
// проблема в том, что я понимаю как найти значения F2 из таблицы 2
// но не знаю, как это сделать для F3 и F4
// т.к там уже используются новополученные значения из предыдущих таблиц
int Max2;
int *ptrMax2=&Max2;
for (int k=1; k<n; k++)
{
for (int i = 0; i < m; i++)
{
for (int j = 0; j <= i; j++)
{
cout << setw(4) << A[k][i-j] + A[k-1][j];
if (j == 0)
*ptrMax2 = A[k][i-j] + A[k-1][j];
else if (A[k][i-j] + A[k-1][j] > Max2)
*ptrMax2 = A[k][i-j] + A[k-1][j];
}
cout << setw(4) << ", max = " << Max2 << endl;
A[k][i]=Max2;
}
}
}
Буду очень благодарен, если кто поможет