Квадратный массив. Найти максимальный элемент ниже главной диагонали - C (СИ)

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

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

Господа, нидхелп. Запутался. Дан двумерный квадратный массив размером n. Найти максимальный элемент (max) ниже главной диагонали и минимальный элемент (min) выше главной диагонали. Поменять их местами. Состряпал вот это:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
 
int minimal(int **mas, int n);
int maximal(int **mas, int n);
int change_values(int *min, int *max);
 
int main(void)
{
    int n, min, max;
    int **mas;
 
    printf("\nVvod razm n\n");
    scanf("%d", &n);
 
    mas = (int**)calloc(n, sizeof(int*));
    for (int i=0;i<n;i++)
        *(mas+i) = (int*)calloc(n, sizeof(int));
    printf("\nVvod massiva \n");
    
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
            scanf("%d", *(mas+i)+j);
    printf("\nIsx massiv \n");
    
    for (int i=0; i<n; i++)
    {
        printf("\n");
        for (int j=0; j<n; j++)
            printf("%3d", *(*(mas+i)+j));
    }
    
    int minimal();
    printf("\n\n Minimal element - %d\n", min);
    
    int maximal();
    printf("\n Maximal element - %d\n", max);
 
    int change_values(int *min, int *max);
    printf("\n After changes\n min = %d\n max = %d\n", max, min);
 
    printf("\n");
}
 
int minimal(int **mas, int n)
{
    int i, j, min = mas [i][j];
    for (i=0; i<n; i++)
        for (j=i+1; j<n; j++)
            if (j<min)
            {
                min=j;
            }
    return min;
}
 
int maximal(int **mas, int n)
{
    int i, j, max = mas [i][j];
    for (i=0; i<n; i++)
        for (j=i-1; j!=0; j--)
            if (j>max)
            {
                max=j;
            }
    return max;
}
 
int change_values(int *min, int *max)
{
    int temp;
 
    temp = *min;
    *min = *max;
    *max = temp;
 
        return *min, *max;
}
Компилируется вроде нормально, но при построении ругается на min и max, Я понимаю, что проблема в функциях minimal() и maximal(), а точнее в присвоении данным переменным начального значения, но вот реализовать это самостоятельно у меня не получается. Прошу помощи.

Решение задачи: «Квадратный массив. Найти максимальный элемент ниже главной диагонали»

textual
Листинг программы
int min= minimal();

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

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