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

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

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

Прошу помочь в данной задаче. Дана матрица размера M × N. Поменять местами столбцы, содержащие минимальный и максимальный элементы матрицы

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

textual
Листинг программы
  1. int i, j, n, m, maxCol, minCol;
  2. double maxVal, minVal, dblBuf;
  3. double a[50][50];
  4.  
  5. n = 5;
  6. m = 4;
  7. maxVal = -1000000;
  8. minVal = 1000000;
  9.  
  10. // Заполнение массива    
  11. for (i = 0; i < n; i++)
  12. {
  13.     for (j = 0; j < m; j++)
  14.     {
  15.         a[i][j] = rand() % 50;
  16.         printf("%6.2lf  ", a[i][j]);
  17.     }
  18.     printf("\n");
  19. }
  20. printf("\n");
  21.  
  22. // Поиск максимального и минимального значение и номеров соответствующих столбцов
  23. for (i = 0; i < n; i++)
  24. {
  25.     for (j = 0; j < m; j++)
  26.     {
  27.         if (a[i][j] > maxVal)
  28.         {
  29.             maxVal = a[i][j];
  30.             maxCol = j;
  31.         }
  32.         if (a[i][j] < minVal)
  33.         {
  34.             minVal = a[i][j];
  35.             minCol = j;
  36.         }
  37.     }
  38. }
  39.  
  40. // Замена столбцов
  41. for (i = 0; i < n; i++)
  42. {
  43.     dblBuf = a[i][maxCol];
  44.     a[i][maxCol] = a[i][minCol];
  45.     a[i][minCol] = dblBuf;
  46. }
  47.  
  48. // Вывод результатаов
  49. printf("Максимальное значение (%f) содержится в столбце (%d)\n", maxVal, maxCol);
  50. printf("Минимальное значение (%f) содержится в столбце (%d)\n", minVal, minCol);
  51. printf("Модифицированная таблица:\n", minVal, minCol);
  52. for (i = 0; i < n; i++)
  53. {
  54.     for (j = 0; j < m; j++)
  55.     {
  56.         printf("%6.2lf  ", a[i][j]);
  57.     }
  58.     printf("\n");
  59. }
  60. printf("\n");

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

  1. Объявлены необходимые переменные:
    • i, j, n, m, maxCol, minCol - целочисленные индексы для работы с матрицей;
    • maxVal, minVal - для хранения максимального и минимального значений в матрице;
    • dblBuf - для временного хранения значения при перестановке столбцов;
    • a[50][50] - двумерный массив размерности 50x50.
  2. Заполнение матрицы a случайными значениями от 0 до 49 с помощью функции rand().
  3. Поиск максимального и минимального значений в матрице a и их соответствующих столбцов.
  4. Замена столбцов с минимальным и максимальным значениями с помощью временной переменной dblBuf.
  5. Вывод на экран максимального и минимального значений и их столбцов.
  6. Вывод на экран модифицированной матрицы a.

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


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

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

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

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

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

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