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

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

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

Задание: найти сумму элементов выше диагонали, место max выше диагонали и место min ниже диагонали. Первые два пункта у меня пошли, а с min что-то не заладилось. Может кто-нибудь помочь найти мою оплошность?
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. int main()
  4. {
  5. const int n=3,m=4;
  6. int a[n][m],sum=0,i,j,max,str1,stlb1,min,str2,stlb2;
  7. for (i=0;i<n;i++)
  8. {
  9. for (j=0;j<m;j++)
  10. {
  11. printf("a[%d][%d] = ",i,j);
  12. scanf_s("%d",&a[i][j]);
  13. }
  14. }
  15. max=a[0][1];
  16. min=a[1][0];
  17. for (i=0;i<n;i++)
  18. {
  19. for (j=0;j<m;j++)
  20. {
  21. if (i<j)
  22. {
  23. sum+=a[i][j];
  24. if (a[i][j]>max)
  25. {
  26. max=a[i][j];
  27. str1=i;
  28. stlb1=j;
  29. }
  30. }
  31. }
  32. }
  33. for (i=0;i<n;i++)
  34. {
  35. for (j=0;j<m;j++)
  36. {
  37. if (i>j)
  38. {
  39. if (a[i][j]<min)
  40. {
  41. min=a[i][j];
  42. str2=i;
  43. stlb2=j;
  44. }
  45. }
  46. }
  47. }
  48. printf("Sum is = %d\n",sum);
  49. printf("Max is = %d and its position is - %d %d\n",max,str1,stlb1);
  50. printf("Min is = %d and its position is - %d %d\n",max,str2,stlb2);
  51. _getch();
  52. return 0;
  53. }

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. int main()
  5. {
  6.     const int n=3,m=4;
  7.     int a[n][m],sum=0,i,j,max,str1,stlb1,min,str2,stlb2;
  8.  
  9.     for (i=0;i<n;i++)
  10.     {
  11.         for (j=0;j<m;j++)
  12.         {
  13.             printf("a[%d][%d] = ",i,j);
  14.             scanf("%d",&a[i][j]);
  15.         }
  16.     }
  17.  
  18.     max=a[0][1];
  19.     min=a[1][0];
  20.     str1=0;
  21.     stlb1=1;
  22.     str2=1;
  23.     stlb2=0;
  24.     for (i=0;i<n;i++)
  25.     {
  26.         for (j=0;j<m;j++)
  27.         {
  28.             if (i<j)
  29.             {
  30.                 sum+=a[i][j];
  31.                 if (a[i][j]>max)
  32.                 {
  33.                     max=a[i][j];
  34.                     str1=i;
  35.                     stlb1=j;
  36.                 }
  37.             }                  
  38.         }
  39.     }
  40.     for (i=0;i<n;i++)
  41.     {
  42.         for (j=0;j<m;j++)
  43.         {
  44.             if (i>j)
  45.             {
  46.                 if (a[i][j]<min)
  47.                 {
  48.                     min=a[i][j];
  49.                     str2=i;
  50.                     stlb2=j;
  51.                 }
  52.             }
  53.         }
  54.     }
  55.     printf("Sum is = %d\n",sum);
  56.     printf("Max is = %d and its position is - %d %d\n",max,str1,stlb1);
  57.     printf("Min is = %d and its position is  - %d %d\n",min,str2,stlb2);
  58.     _getch();
  59.     return 0;
  60. }

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

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы