Поменять местами первый и минимальный элементы массива - C (СИ) (71462)
Формулировка задачи:
Заданный массив. Поменять местами его первый и минимальный элементы. Если элементов с минимальным значением несколько, взять последний из них Сделать в Си. Заранее спасибо
Решение задачи: «Поменять местами первый и минимальный элементы массива»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 40 int max_elem_idx(int *arr, int sz); void input_array(int *A, int A_size); void print_array(int *A, int A_size); int main() { int i; int A[N]; srand(time(0)); input_array(A, N); puts("\nDo:"); print_array(A, N); for (i = N - 1; i != 0; --i) if (A[i]<0){ int tmp = A[i]; A[i] = A[max_elem_idx(A, N)]; A[max_elem_idx(A, N)] = tmp; break; } puts("\nPosle:"); print_array(A, N); getchar(); return 0; } int max_elem_idx(int *arr, int sz) { int i = 0; int idx = i; for (i = 1; i<sz; ++i){ if (arr[idx]<arr[i]) idx = i; } return idx; } void input_array(int *A, int A_size) { int i; int a = -100; int b = 100; for (i = 0; i<A_size; i++) { A[i] = a + rand() % (b - a + 1); //генерируем массив } } void print_array(int *A, int A_size) { for (int i = 0; i<A_size; i++) { printf("%4d", A[i]); //printf("\n"); } puts(""); }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с I/O и работой со случайными числами
- Определяем размер массива N
- Объявляем функцию max_elem_idx, которая находит индекс максимального элемента в массиве
- Объявляем функцию input_array, которая считывает массив из стандартного ввода
- Объявляем функцию print_array, которая выводит массив на стандартный вывод
- В функции main создаем массив A заданного размера и инициализируем его случайными числами с помощью функции input_array
- Выводим массив на экран с помощью функции print_array
- В цикле проходим по массиву и меняем местами минимальный элемент и элемент с максимальным индексом
- Выводим измененный массив на экран с помощью функции print_array
- В функции main возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д