В двумерном массиве все элементы, которые стоят выше максимального элемента, заменить на минимальный - 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(); }
Объяснение кода листинга программы
- Объявление массива
- Ввод размера массива
- Поэлементный ввод массива
- Поиск минимального элемента и сохранение его индексов
- Поиск максимального элемента и сохранение его индексов
- Замена всех элементов, которые стоят выше максимального элемента, на минимальный
- Вывод исходного массива в виде ровной таблицы
- Замена элементов, начиная с элемента с максимальным индексом по диагонали, на минимальный
- Вывод полученного массива в виде ровной таблицы
- Получение ввода от пользователя с помощью _getch()
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д