#include <stdio.h>
int main() {
int SIZE = 10;
int A[SIZE];
int i;
int max_idx, max_val, min_idx, min_val;
for (i = 0; i < SIZE; i++) {
scanf("%d", &A[i]);
}
max_val = A[0];
min_val = A[0];
max_idx=0;
min_idx=0;
for (i = 1; i < SIZE; i++) {
if (A[i] > max_val) {
max_val = A[i];
max_idx = i + 1;
}
if (A[i] < min_val) {
min_val = A[i];
min_idx = i + 1;
}
}
printf("%d %d %d %d", max_idx, max_val, min_idx, min_val);
return 0;
}
Этот код находит максимальный и минимальный элементы массива и их индексы (начиная с 1), но есть неточность в логике обновления индексов.
- Индексы max_idx и min_idx обновляются только внутри условий, но начальные значения (0) не соответствуют формату вывода (нумерация с 1). Если максимум или минимум находится на первой позиции, индекс останется 0, а не 1.
- Внутри цикла вы присваиваете max_idx = i + 1 и min_idx = i + 1, но начальные значения заданы как 0. Подумайте, как сделать так, чтобы для первого элемента индекс тоже был 1.