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

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

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

Задание: найти сумму элементов выше диагонали, место max выше диагонали и место min ниже диагонали. Первые два пункта у меня пошли, а с min что-то не заладилось. Может кто-нибудь помочь найти мою оплошность?
#include <stdio.h>
#include <conio.h>
 
int main()
{
    const int n=3,m=4;
    int a[n][m],sum=0,i,j,max,str1,stlb1,min,str2,stlb2;
 
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
        {
            printf("a[%d][%d] = ",i,j);
            scanf_s("%d",&a[i][j]);
        }
    }
 
    max=a[0][1];
    min=a[1][0];
 
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
        {
            if (i<j)
            {
                sum+=a[i][j];
                if (a[i][j]>max)
                {
                    max=a[i][j];
                    str1=i;
                    stlb1=j;
                }
            }                   
        }
    }
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
        {
            if (i>j)
            {
                if (a[i][j]<min)
                {
                    min=a[i][j];
                    str2=i;
                    stlb2=j;
                }
            }
        }
    }
    printf("Sum is = %d\n",sum);
    printf("Max is = %d and its position is - %d %d\n",max,str1,stlb1);
    printf("Min is = %d and its position is  - %d %d\n",max,str2,stlb2);
    _getch();
    return 0;
}

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

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
 
int main()
{
    const int n=3,m=4;
    int a[n][m],sum=0,i,j,max,str1,stlb1,min,str2,stlb2;
 
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
        {
            printf("a[%d][%d] = ",i,j);
            scanf("%d",&a[i][j]);
        }
    }
 
    max=a[0][1];
    min=a[1][0];
    str1=0;
    stlb1=1;
    str2=1;
    stlb2=0;
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
        {
            if (i<j)
            {
                sum+=a[i][j];
                if (a[i][j]>max)
                {
                    max=a[i][j];
                    str1=i;
                    stlb1=j;
                }
            }                   
        }
    }
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
        {
            if (i>j)
            {
                if (a[i][j]<min)
                {
                    min=a[i][j];
                    str2=i;
                    stlb2=j;
                }
            }
        }
    }
    printf("Sum is = %d\n",sum);
    printf("Max is = %d and its position is - %d %d\n",max,str1,stlb1);
    printf("Min is = %d and its position is  - %d %d\n",min,str2,stlb2);
    _getch();
    return 0;
}

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

В этом коде объявлены следующие переменные:

  1. n и m - это константы, которые определяют размерность двухмерного массива a.
  2. a[n][m] - это сам двухмерный массив.
  3. sum - это переменная, которая будет хранить сумму элементов массива.
  4. i и j - это индексы для обхода массива.
  5. max, min - это переменные для хранения максимального и минимального значения массива.
  6. str1, stlb1, str2, stlb2 - это переменные для хранения позиции максимального и минимального значения массива. Код начинается с заполнения массива a с помощью цикла for и функции scanf. Затем происходит поиск максимального и минимального значения массива, а также их позиций. Используется второй цикл for для обхода массива по диагонали и подсчета суммы элементов. После этого выводятся значения переменных sum, max, min, а также их позиции. Используется функция printf для вывода значений переменных. В конце кода вызывается функция _getch для приостановки выполнения программы до тех пор, пока пользователь не нажмет какую-либо клавишу. В общем, код выполняет задачу по нахождению суммы элементов массива ниже диагонали, а также находит максимальное и минимальное значение массива и их позиции.

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


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

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

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