Максимум на побочной диагонали, что не так в программе? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include <stdio.h>
#include <iostream>
using namespace std;

int func (int **arr, int n );
// вывод матрицы 
void PrintMatrix(int **a, int n)
{
for (int i=0;i<n;i++){
for (int j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
} 
printf("\n");
}
 
int main()
{
int n;
printf("Vvedite razmernost matrizi n: ");
scanf("%d", &n);
//динамическое создание двумерного массива
int **a=new int *[n];
for (int i=0;i<n;i++)
a[i]=new int [n];
 
//ввод матрицы
for (int i=0;i<n;i++){
printf("enter %d line\n", i+1);
for (int j=0;j<n;j++)
scanf("%d", &a[i][j]);
}
 
printf("\n\nIshodnaja Matriza\n");
PrintMatrix(a,n);
 
printf ("Maximum is %d\n",func (a,n));
 
//удаление
for (int i=0;i<n;i++)
delete []a[i];
delete []a;
 
system ("pause");
return 0;
 
}
int func(int **arr,int n)
{
int max=arr[0][n-1];
int i;
int j;
 
for(  i=1;  i<n-1; i++);
for ( j=n-2; j>0; j--)
{
    if (arr[i][j]>max)
        max =arr[i][j];
 
}
return max;
}

Решение задачи: «Максимум на побочной диагонали, что не так в программе?»

textual
Листинг программы
int func(int **arr,int n)
{
    int max=arr[0][n-1];
    int i;
    int j;
 
    for( i=0; i<n; i++)
    {
        if (arr[i][n-1-i]>max)
            max =arr[i][n-1-i];
 
    }
    return max;
}

Объяснение кода листинга программы

В данном коде функция func() находит максимальное значение в побочной диагонали матрицы arr[][], которая передается в качестве аргумента. Список действий в функции:

  1. Переменная max инициализируется значением arr[0][n-1].
  2. Переменные i и j инициализируются нулевыми значениями.
  3. Цикл for запускается n раз.
  4. В каждой итерации цикла, если значение arr[i][n-1-i] больше значения max, то max обновляется значением arr[i][n-1-i].
  5. После завершения цикла, функция возвращает значение max.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы