Определить максимальный элемент массива и его индекс - C (СИ)
Формулировка задачи:
С клавиатуры вводится одномерный массив действительных чисел размером n. Определить максимальный элемент массива, и его индекс. Массив сортируется по убыванию.
Пы.сы Кому не сложно помогите с данной программой.
Решение задачи: «Определить максимальный элемент массива и его индекс»
textual
Листинг программы
#include<stdio.h>
int main(int argc, char **argv) {
int element, n;
int index = 0;
int i = 0;
int j = 0;
int max = 0;
printf("Введите размер массива: \n");
scanf("%d", &n);
int array[n];
printf("Введите элементы массива: \n");
while (i < n) {
scanf("%d", &element);
array[i] = element;
i++;
}
max = array[0];
for (i = 1; i < n; i++) {
if (array[i] > max) {
max = array[i];
index = i;
}
}
printf("Максимальный элемент массива: array[%d]=%d\n", index, max);
for (i = 0; i < n; ++i) {
for (j = i + 1; j < n; ++j) {
if (array[i] < array[j]) {
element = array[i];
array[i] = array[j];
array[j] = element;
}
}
}
printf("Отсортированный массив:\n");
for (i = 0; i < n; ++i) {
printf("%d\n", array[i]);
}
return 0;
}
Объяснение кода листинга программы
В этом коде определен размер массива с помощью функции scanf и сохраняется в переменной n. Затем происходит заполнение массива с помощью цикла while и функции scanf. Первая итерация цикла присваивает элементу массива значение 0, поэтому первый элемент массива становится максимальным. Затем происходит поиск максимального элемента оставшейся части массива с помощью вложенного цикла for и сравнения элементов. После этого выводится максимальный элемент массива и его индекс. Затем массив сортируется с помощью алгоритма сортировки пузырьком, и выводится отсортированный массив.