Нйти сумму элементов двухмерного массива ниже диагонали. - 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;
- }
Объяснение кода листинга программы
В этом коде объявлены следующие переменные:
- n и m - это константы, которые определяют размерность двухмерного массива a.
- a[n][m] - это сам двухмерный массив.
- sum - это переменная, которая будет хранить сумму элементов массива.
- i и j - это индексы для обхода массива.
- max, min - это переменные для хранения максимального и минимального значения массива.
- str1, stlb1, str2, stlb2 - это переменные для хранения позиции максимального и минимального значения массива. Код начинается с заполнения массива a с помощью цикла for и функции scanf. Затем происходит поиск максимального и минимального значения массива, а также их позиций. Используется второй цикл for для обхода массива по диагонали и подсчета суммы элементов. После этого выводятся значения переменных sum, max, min, а также их позиции. Используется функция printf для вывода значений переменных. В конце кода вызывается функция _getch для приостановки выполнения программы до тех пор, пока пользователь не нажмет какую-либо клавишу. В общем, код выполняет задачу по нахождению суммы элементов массива ниже диагонали, а также находит максимальное и минимальное значение массива и их позиции.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д