Не удается запрограммировать целевую функцию

Ребят, я уже который день делаю эту лаб работу. Я не знаю что я делаю не так, что у меня выходят не те значения что в таблице. Само задание: 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;
         }

    }

}

Буду очень благодарен, если кто поможет


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