В двумерном массиве все элементы, которые стоят выше максимального элемента, заменить на минимальный - C (СИ)

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

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

В двумерном массиве все элементы, которые стоят выше максимального элемента, заменить на минимальный элемент.
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <clocale>
  4. int main(void) {
  5. //Объявление массива
  6. setlocale(LC_ALL, "Rus");
  7. int A[10][10];
  8. int m, n; //Объявление переменных, где будем хранить ширину и высоту
  9. int imin = 1;
  10. int jmin = 1;
  11. int imax = 1;
  12. int jmax = 1;
  13. int i, j;
  14. printf("Введите размер массива: ");
  15. scanf_s("%d%d", &m, &n); //Ввод двух значений
  16. //Поэлементный ввод массива
  17. for (int i = 0; i < n; i = i + 1)
  18. {
  19. for (int j = 0; j < m; j = j + 1)
  20. {
  21. printf("Введите %d массива: ", i + 1);
  22. scanf_s("%d", &A[i][j]);
  23. }
  24. }
  25.  
  26. //Вывод массива в виде ровной таблицы
  27. printf("Исходный массив:\n\n");
  28. for (int i = 0; i < n; i = i + 1)
  29. {
  30. for (int j = 0; j < m; j = j + 1)
  31. {
  32. printf("%4d", A[i][j]); //Оставляем место под 4 знака на число
  33. }
  34. printf("\n"); //Выводим перенос строки для перехода к следующей строке массива
  35. }
  36. for (int i = 0; i < n; i = i + 1)
  37. {
  38. for (int j = 0; j < m; j = j + 1)
  39. {
  40. if (A[i][j] < A[imin][jmin])
  41. {
  42. imin = i;
  43. jmin = j;
  44. }
  45. }
  46. }
  47. for (int i = 0; i < n; i = i + 1)
  48. {
  49. for (int j = 0; j < m; j = j + 1)
  50. {
  51. if (A[i][j] > A[imax][jmax])
  52. {
  53. imax = i, jmax = j;
  54. }
  55. }
  56. }
  57. for (int i = 0; i < n; i = i + 1)
  58. {
  59. for (int j = 0; j < m; j = j + 1)
  60. {
  61. if (A[i][j] > A[imax][jmax])
  62. {
  63. A[i][j] = A[imin][jmin];
  64. }
  65. }
  66. }
  67. printf("\n Полученный массив:\n\n");
  68. for (int i = 0; i<n; i++)
  69. {
  70. for (int j = 0; j < m; j++)
  71. {
  72. printf("%d ", A[i][j]);
  73. }
  74. _getch();
  75. }
  76. }

Решение задачи: «В двумерном массиве все элементы, которые стоят выше максимального элемента, заменить на минимальный»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <locale.h>
  4.  
  5. int main(void)
  6. {
  7.     //Объявление массива
  8.     setlocale(LC_ALL, "Rus");
  9.     int A[10][10];
  10.     int m, n;  //Объявление переменных, где будем хранить ширину и высоту
  11.     int imin = 0;
  12.     int jmin = 0;
  13.     int imax = 0;
  14.     int jmax = 0;
  15.     int i, j;
  16.     printf("Введите размер массива: ");
  17.     scanf_s("%d%d", &n, &m); //Ввод двух значений
  18.  
  19.                                                      //Поэлементный ввод массива
  20.     for (i = 0; i < n; i++)
  21.         for (j = 0; j < m; j++)
  22.         {
  23.             printf("A[%d][%d]=", i, j);
  24.             scanf_s("%d", &A[i][j]);
  25.             if (A[i][j] < A[imin][jmin])
  26.             {
  27.                 imin = i;
  28.                 jmin = j;
  29.             }
  30.             if (A[i][j] >= A[imax][jmax])
  31.             {
  32.                 imax = i;
  33.                 jmax = j;
  34.             }
  35.         }
  36.  
  37.  
  38.     //Вывод массива в виде ровной таблицы
  39.     printf("Исходный массив:\n\n");
  40.     for (i = 0; i < n; i++)
  41.     {
  42.         for (j = 0; j < m; j++)
  43.             printf("%4d", A[i][j]); //Оставляем место под 4 знака на число
  44.         printf("\n"); //Выводим перенос строки для перехода к следующей строке массива
  45.     }
  46.  
  47.  
  48.     for (i = 0; i < imax; i++)
  49.         for (j = 0; j < m; j++)
  50.             A[i][j] = A[imin][jmin];
  51.  
  52.  
  53.     printf("\n Полученный массив:\n\n");
  54.     for (i = 0; i < n; i++)
  55.     {
  56.         for (j = 0; j < m; j++)
  57.             printf("%4d", A[i][j]);
  58.         printf("\n"); //Выводим перенос строки для перехода к следующей строке массива
  59.     }
  60.  
  61.         _getch();
  62. }

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

  1. Объявление массива
  2. Ввод размера массива
  3. Поэлементный ввод массива
  4. Поиск минимального элемента и сохранение его индексов
  5. Поиск максимального элемента и сохранение его индексов
  6. Замена всех элементов, которые стоят выше максимального элемента, на минимальный
  7. Вывод исходного массива в виде ровной таблицы
  8. Замена элементов, начиная с элемента с максимальным индексом по диагонали, на минимальный
  9. Вывод полученного массива в виде ровной таблицы
  10. Получение ввода от пользователя с помощью _getch()

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


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

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

8   голосов , оценка 3.75 из 5

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

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

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