Что не так в коде???

интернет программирование базы данных С++ Матрицы

По заданию, нужно найти максимум среди сумм элементов диагоналей матрицы, параллельных главной матрицы, но сумму элементов главной диагонали матрицы считать не нужно! Написал код вроде норм, а он выдаёт сумму элементов главной диагонали, где не так то...

int FuncMaxSum(int** mas, int j, int n, int t)
{
int sum_diag;
int max_sum = 0;
for(int i=0;i<n;i++)
{
sum_diag = 0;
for(j=0;j<i+1;j++)
{
sum_diag += mas[j][j+n-1-i];
if(sum_diag>max_sum)
max_sum = sum_diag;
}
}
for(int i=0;i<n-1;i++)
{
sum_diag = 0;
for(j=0;j<i+1;j++)
{
sum_diag += mas[j+n-1-i][j];
if(sum_diag > max_sum)
max_sum = sum_diag;
}
}
/*sum += mas[i][j];
if(j++==t)
j=0;*/
return max_sum;
}























































Ответы:
Ну, вы уж совсем подумать не хотите: в первом цикле n надо поменять на n-1.
Тогда главная диагональ не будет проверяться.
int FuncMaxSum(int** mas, int j, int n, int t)
{
  int sum_diag;
  int max_sum = 0;
  for(int i=0;i<n-1;i++)
  {
sum_diag = 0;
for(j=0;j<i+1;j++)
{
sum_diag += mas[j][j+n-1-i];
if(sum_diag>max_sum)
max_sum = sum_diag;
}
  }
for(int i=0;i<n-1;i++)
  {
sum_diag = 0;
for(j=0;j<i+1;j++)
{
sum_diag += mas[j+n-1-i][j];
if(sum_diag > max_sum)
max_sum = sum_diag;
}
}
/*sum += mas[i][j];
   if(j++==t)
j=0;*/
return max_sum;
}


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.