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

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

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

В двумерном массиве все элементы, которые стоят выше максимального элемента, заменить на минимальный элемент.
#include <stdio.h>
#include <conio.h>
#include <clocale>
int main(void) {
    //Объявление массива
    setlocale(LC_ALL, "Rus");
    int A[10][10];
    int m, n;  //Объявление переменных, где будем хранить ширину и высоту
    int imin = 1;
    int jmin = 1;
    int imax = 1;
    int jmax = 1;
    int i, j;
    printf("Введите размер массива: ");
    scanf_s("%d%d", &m, &n); //Ввод двух значений
 
                           //Поэлементный ввод массива
    for (int i = 0; i < n; i = i + 1)
    {
        for (int j = 0; j < m; j = j + 1)
        {
            printf("Введите %d массива: ", i + 1);
            scanf_s("%d", &A[i][j]);
        }
    }

    //Вывод массива в виде ровной таблицы
    printf("Исходный массив:\n\n");
    for (int i = 0; i < n; i = i + 1)
    {
        for (int j = 0; j < m; j = j + 1)
        {
            printf("%4d", A[i][j]); //Оставляем место под 4 знака на число
        }
        printf("\n"); //Выводим перенос строки для перехода к следующей строке массива
    }
 
    for (int i = 0; i < n; i = i + 1)
    {
        for (int j = 0; j < m; j = j + 1)
        {
            if (A[i][j] < A[imin][jmin])
            {
                imin = i;
                jmin = j;
            }
        }
    }
 
    for (int i = 0; i < n; i = i + 1)
    {
        for (int j = 0; j < m; j = j + 1)
        {
            if (A[i][j] > A[imax][jmax])
            {
                imax = i, jmax = j;
            }
        }
    }
 
    for (int i = 0; i < n; i = i + 1)
    {
        for (int j = 0; j < m; j = j + 1)
        {
            if (A[i][j] > A[imax][jmax])
            {
                A[i][j] = A[imin][jmin];
            }
        }
    }
 
    printf("\n Полученный массив:\n\n");
    for (int i = 0; i<n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            printf("%d ", A[i][j]);
        }
        _getch();
    }
}

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

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <locale.h>
 
int main(void)
{
    //Объявление массива
    setlocale(LC_ALL, "Rus");
    int A[10][10];
    int m, n;  //Объявление переменных, где будем хранить ширину и высоту
    int imin = 0;
    int jmin = 0;
    int imax = 0;
    int jmax = 0;
    int i, j;
    printf("Введите размер массива: ");
    scanf_s("%d%d", &n, &m); //Ввод двух значений
 
                                                     //Поэлементный ввод массива
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
        {
            printf("A[%d][%d]=", i, j);
            scanf_s("%d", &A[i][j]);
            if (A[i][j] < A[imin][jmin])
            {
                imin = i;
                jmin = j;
            }
            if (A[i][j] >= A[imax][jmax])
            {
                imax = i;
                jmax = j;
            }
        }
 
 
    //Вывод массива в виде ровной таблицы
    printf("Исходный массив:\n\n");
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
            printf("%4d", A[i][j]); //Оставляем место под 4 знака на число
        printf("\n"); //Выводим перенос строки для перехода к следующей строке массива
    }
 
 
    for (i = 0; i < imax; i++)
        for (j = 0; j < m; j++)
            A[i][j] = A[imin][jmin];
 
 
    printf("\n Полученный массив:\n\n");
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
            printf("%4d", A[i][j]);
        printf("\n"); //Выводим перенос строки для перехода к следующей строке массива
    }
 
        _getch();
}

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

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

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


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

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

8   голосов , оценка 3.75 из 5
Похожие ответы