Нйти сумму элементов двухмерного массива ниже диагонали. - 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 для приостановки выполнения программы до тех пор, пока пользователь не нажмет какую-либо клавишу. В общем, код выполняет задачу по нахождению суммы элементов массива ниже диагонали, а также находит максимальное и минимальное значение массива и их позиции.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д