Выделение минимального и максимального элементов массива - C (СИ)
Формулировка задачи:
Найти максимальный элемент и поменять его местами с последним элементом массива.
В программе предусмотреть и реализовать:
1) генерацию элементов исходного массива с помощью датчика случайных чисел;
2) выполнение в соответствии с условием задачи;
3) порядок вывода:
• исходный массив,
• максимальный или минимальный элемент массива и его номер,
• массив, полученный в результате выполнения задания.
Решение задачи: «Выделение минимального и максимального элементов массива»
textual
Листинг программы
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define N 10
int main()
{
srand(time(NULL));
int mas[N], max, index;
mas[0] = rand() % 201 - 100;
max = mas[0];
for(int i = 1; i < N; i++)
{
mas[i] = rand() % 201 - 100;
if(mas[i] > max)
{
max = mas[i];
index = i;
}
}
printf("Before: ");
for(int i = 0; i < N; i++)
printf("%d ",mas[i]);
printf("\nMax element - %d (index - %d)",max,index + 1);
mas[index] = mas[N - 1];
mas[N - 1] = max;
printf("\nAfter: ");
for(int i = 0; i < N; i++)
printf("%d ",mas[i]);
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы со временем, генерацией случайных чисел и вывода данных в консоль.
- Определяем константу N, которая задает размер массива.
- Инициализируем массив случайным значением, чтобы избежать возможных ошибок при инициализации нулями.
- Инициализируем переменную max значением первого элемента массива.
- Инициализируем переменную index значением индекса первого максимального элемента массива.
- Используя цикл for, заполняем остальные элементы массива случайными значениями.
- Сравнивая каждый элемент массива с текущим максимальным значением, обновляем max и index, если найдены более высокие значения.
- Выводим текущее значение массива на экран.
- Меняем местами max элемент и последний элемент массива.
- Выводим измененное значение массива на экран.