Найти минимальный элемент квадратной матрицы и вывести на экран номер строки и столбца, в которых он находится - C (СИ)

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

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

Найти минимальный элемент матрицы X(4х4) и вывести на экран номер строки и столбца, в которых он находится. C функциями ввода-вывода разобрался, а вот с самим условием проблема. Знаю, что ошибка в X,Y но как исправить?
Листинг программы
  1. #include <stdio.h> /*подключении стандартной библиотеки ввода-вывода*/
  2. #include <conio.h> /*Подключение библиотеки conio.h*/
  3. void input(int a[4][4]) /* функция ввода матрицы */
  4. { /* начало тела функции*/
  5. int i,j; /* переменные-счетчики */
  6. for(i=0;i<4;i++) /* цикл по всем строкам матрицы */
  7. for(j=0;j<4;j++) /* цикл по всем столбцам матрицы */
  8. scanf_s("%d",&a[i][j]); /* вводим a[i][j] */
  9. } /* конец тела функции */
  10. void output(int a[][4]) /* функция вывода матрицы */
  11. { /* начало тела функции */
  12. int i,j; /* переменные-счечтики */
  13. for(i=0;i<4;i++) /* цикл по всем строкам матрицы */
  14. {/* начало тела цикла */
  15. for(j=0;j<4;j++) /* цикл по всем столбцам матрицы */
  16. printf("%d ",a[i][j]); /* вывод a[i][j] */
  17. printf("\n"); /* переход на новую строку */
  18. }/* конец тела цикла */
  19. } /* конец функции*/
  20. int sum(int a[4][4]) /* функция */
  21. { /* начало тела функции*/
  22. int i,j; /* переменные-счетчики */
  23. int x = 0, y = 0; /* переменные-счетчики */
  24. for( i = 0; i < 4; ++i ) /*Начало цикла с 0, пока i<4 с шагом +1*/
  25. for( j = 0; j < 4; ++j ) /*Начало цикла с 0, пока j<4 с шагом +1*/
  26. { /*Начало тела цикла*/
  27. if( a[i][j] < a[x][y] ) /*Если элемент a[i][j]<a[x][y], то начинается цикл*/
  28. { /*Начало тела цикла*/
  29. x = i; /*х присваивается значение i*/
  30. y = j; /*y присваивается значение j*/
  31. } /*Конец тела цикла*/
  32. } /*Конец тела цикла*/
  33. return x;
  34. return y;/* возвращение summa */
  35. } /* конец функции*/
  36. int main() { /* основная функция программы */
  37. int a[4][4]; /* матрица, количество, сумма и временная перем. */
  38. int x,y; /* переменные-счетчики */
  39. printf("Vvedite matricu a (4x4):\n"); /* оператор вывода */
  40. input(a); /* ввод матрицы */
  41. printf("Vivod matrici a:\n");/* оператор вывода */
  42. output(a); /* вывод матрицы */
  43. x,y=sum(a);
  44. printf("x = %d, y = %d, min = %d", x, y, a[x][y]); /*Вывод мин. элемента на экран */
  45. _getch(); /*Оператор паузы*/
  46. } /*Конец тела программы*/

Решение задачи: «Найти минимальный элемент квадратной матрицы и вывести на экран номер строки и столбца, в которых он находится»

textual
Листинг программы
  1. int sum(int a[4][4]) /* функция  */
  2. { /* начало тела функции*/
  3.     int i,j; /* переменные-счетчики */
  4.     int x = 0, y = 0; /* переменные-счетчики */
  5.     for( i = 0; i < 4; ++i ) /*Начало цикла с 0, пока i<4 с шагом +1*/
  6. for( j = 0; j < 4; ++j ) /*Начало цикла с 0, пока j<4 с шагом +1*/
  7. {                              /*Начало тела цикла*/
  8. if( a[i][j] < a[x][y] ) /*Если элемент a[i][j]<a[x][y], то начинается цикл*/
  9. {                             /*Начало тела цикла*/
  10. x = i;                /*х присваивается значение i*/
  11. y = j;                      /*y присваивается значение j*/
  12. }                              /*Конец тела цикла*/
  13. }                       /*Конец тела цикла*/  
  14. return x;
  15. return y;/* возвращение summa */
  16. } /* конец функции*/

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

В данном коде реализована функция, которая находит минимальный элемент в квадратной матрице и сохраняет номер строки и столбца, в которых этот элемент находится.

  1. Переменные i и j объявлены как счетчики циклов.
  2. Переменные x и y объявлены как счетчики для хранения номера строки и столбца, в которых находится минимальный элемент.
  3. Два вложенных цикла for проходят по всем элементам матрицы.
  4. Если текущий элемент a[i][j] меньше, чем элемент a[x][y], то значения x и y обновляются.
  5. После завершения циклов, функция возвращает значение x (номер строки) и y (номер столбца), в которых находится минимальный элемент. Код не содержит ошибок синтаксиса и логически корректен. Однако, для определения минимального элемента в матрице, необходимо проверить саму матрицу на предмет наличия в ней отрицательных значений.

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


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

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

11   голосов , оценка 4.364 из 5

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

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

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