Добавил:
vvrstcnho
Рад, если кому-то помог
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы С (для ИВТ) / Готовые лабы С / Лаба4 / Laba 4 (3
.1).c#include <stdio.h>
#define ROWS 8
#define COLS 12
int main() {
int A[ROWS][COLS];
int i, j;
int min_val, max_val;
int min_i, min_j, max_i, max_j;
int min_count = 0, max_count = 0;
printf("Enter matrix %dx%d:\n", ROWS, COLS);
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("A[%d][%d] = ", i, j);
scanf("%d", &A[i][j]);
}
}
// Поиск min и max через индексацию
min_val = max_val = A[0][0];
min_i = min_j = max_i = max_j = 0;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
if (A[i][j] < min_val) {
min_val = A[i][j];
min_i = i; min_j = j;
min_count = 1;
} else if (A[i][j] == min_val) {
min_count++;
}
if (A[i][j] > max_val) {
max_val = A[i][j];
max_i = i; max_j = j;
max_count = 1;
} else if (A[i][j] == max_val) {
max_count++;
}
}
}
// Проверка корректности
if (min_count > 1 || max_count > 1) {
printf("Error: min or max value appears more than once\n");
return 1;
}
// Обмен значений
int temp = A[min_i][min_j];
A[min_i][min_j] = A[max_i][max_j];
A[max_i][max_j] = temp;
printf("\nMatrix after swapping min and max:\n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%4d", A[i][j]);
}
printf("\n");
}
return 0;
}
Соседние файлы в папке Лаба4
