В квадратной матрице вычислить сумму элементов, расположенных на одной горизонтали - М и вертикали - К с заданным элементом матрицы А[М,К], и полученное значение присвоить всем элементам матрицы, не участвовавшим в суммировании.
Так я ее реализовал на языке С++
Мне кажется, что ввод массива я сделал неграмотно. Может быть можно как по-другому вводить массив без тех ограничений?
Код:
//#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <iomanip>
#define N 100 // 
using namespace std;
int main()
{
   int A[N][N],n,m,k,sum=0;
   setlocale (0, "");
   cout << "Размер матрицы; N: ";
   cin >> n;
   if (n>N||n==0)
    {
    cout << "недопустимый размер матрицы;";
    return 0;
    }
   cout << "введите матрицу;" << endl;
   for(int i=0;i<n;i++)
   {
      for(int j=0;j<n;j++)
      {
         cout << "A[" << i << "][" << j << "] = ";
         cin >> A[i][j];
      }
   }
   cout << "исходная матрица;" << endl;
   for(int i=0;i<n;i++)
   {
      for(int j=0;j<n;j++)
      {
      cout<<setw(5);
      cout << A[i][j];
      }
      cout<<endl;
   }
   do
   {
      cout << "введите заданный элемент; M(1.."<< n <<" ): ";
      cin >> m;
   }
   while(!(m>=1&&m<=n));
   {
   do
   {   
      cout << "введите заданный элемент; K(1.."<< n <<" ): ";
      cin >> k;
    }
    while(!(k>=1&&k<=n));
    }
    cout <<"координата строки; M = " << m << endl;
    cout <<"координата столбца; K = " << k << endl;
    m--;k--;
   for(int i=0;i<n;i++)
   {
      sum=sum+A[m][i];
      sum=sum+A[i][k];
   }
   sum=sum-A[m][k];
   cout << "Сумма; = " << sum << endl;
   for(int i=0;i<n;i++)
   {
      for(int j=0;j<n;j++)
      {
         if(i!=m&&j!=k)
         A[i][j]=sum;
      }
   }
   cout << "новая матрица" << endl;
   for(int i=0;i<n;i++)
   {
      for(int j=0;j<n;j++)
      {
      cout<<setw(5);
      cout << A[i][j];
      }
      cout << endl;
   }
system("pause");
   return 0;
}