Определите и выведите на экран лучший и худший результаты с номерами спортсменов - C (СИ)
Формулировка задачи:
Прошу помочь решить задачу.
"Результаты соревнований по прыжкам в воду и порядковый номер участников хранятся в массиве. Нечетный
элемент массива определяет номер участника, четный — результат. Определите и выведите на экран лучший и худший результаты с номерами спортсменов."
Решение задачи: «Определите и выведите на экран лучший и худший результаты с номерами спортсменов»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> //#define N 10 void input_array(int *A, int A_size); void comparer(int *A, int A_size); void print_best_result(int *A, int A_size); void print_worst_result(int *A, int A_size); //void print_array (int *A, int A_size); int N; int main () { printf("Enter number of participants: "); scanf("%d", &N); printf("\n"); int A[N]; printf("Enter array (%d numbers):\n", N); input_array(A, N); comparer(A, N); //print_array(A, N); print_best_result(A, N); print_worst_result(A, N); return 0; } void input_array (int *A, int A_size) { for(int i=0; i<A_size; i++) { scanf("%d", A+i); } } void comparer (int *A, int A_size) { for(int k=0; k<A_size-1; k++) for(int i=0; i<A_size-1; i++, i++) if (A[i+1]> A[i+3]) { int tmp=A[i+1]; A[i+1]=A[i+3]; A[i+3]=tmp; int second_tmp=A[i]; A[i]=A[i+2]; A[i+2]=second_tmp; } } void print_best_result(int *A, int A_size) { printf("\n"); printf("Best result is: "); printf("%d - %d", A[N-2], A[N-1]); printf("\n"); } void print_worst_result(int *A, int A_size) { printf("\n"); printf("Worst result is: "); printf("%d - %d", A[0], A[1]); printf("\n"); } /* void print_array(int *A, int A_size) { for(int i=0; i<A_size; i++) { printf("%4d", A[i]); //printf("\n"); } } */
Объяснение кода листинга программы
В этом коде определен набор функций для работы с массивом целых чисел в языке C.
main()
- функция, в которой происходит ввод количества участников (N), затем ввод массива чисел (A) и сортировка массива по возрастанию с помощью функцииcomparer()
. Затем выводятся на экран лучший и худший результаты с номерами спортсменов.input_array()
- функция для ввода массива чисел (A) с помощью функцииscanf()
.comparer()
- функция для сортировки массива чисел (A) по возрастанию.print_best_result()
- функция для вывода на экран лучшего результата с номерами спортсменов.print_worst_result()
- функция для вывода на экран худшего результата с номерами спортсменов.print_array()
- функция для вывода на экран всего массива чисел (A). Код начинается с определения переменнойN
для хранения количества участников. Затем идет ввод этого количества с помощьюscanf()
и выводится на экран. Далее определяется массивA
типаint
размеромN
для хранения чисел. После этого идет ввод массива с помощью функцииinput_array()
. Затем вызывается функцияcomparer()
, которая сортирует массив по возрастанию. После сортировки вызываются функцииprint_best_result()
иprint_worst_result()
, которые выводят на экран лучший и худший результаты соответственно. В конце кода есть функцияprint_array()
, которая выводит на экран весь массив чисел, но в данном случае она не вызывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д