Посчитать количество чисел между двумя значениями - C (СИ)
Формулировка задачи:
Привет. Столнулся с такой проблемкой. Задается одномерный массив. В массиве нужно найти макс и мин значение. Когда нашли,то посчитать количество элементов массива между расположенных между макс и мин.
Собственно,а как посчитать количество между этими двумя? Я думал сделать еще один пустой массив,в котором можно будет хранить найденные позиции значения макс и мин,но на практике не получается
#include <stdio.h> int main() { int i,arr[10]={10,21,-10,0,12,28,55,-10,0,1}; int max=min=arr[0]; for(i=0;i<10;i++) if(arr[i]>max) max=arr[i]; else max=arr[0]; for(i=0;i<10;i++) if(arr[i]<min) min=arr[i]; else min=arr[0]; for(i=0;i<10;i++) if(min=arr[i]&&max=arr[i]) printf("Max is %i , Min is %i",max,min); getchar(); return 0; }
Решение задачи: «Посчитать количество чисел между двумя значениями»
textual
Листинг программы
#include <stdio.h> int main() { int i, a = 0, b = 0, arr[10]={10,21,-10,0,12,28,55,-10,0,1}; int max, min = max = arr[0]; for(i = 0;i < 10; i++) if(arr[i] > max){ max=arr[i]; a = i; } for(i = 0;i < 10; i++) if(arr[i] < min){ min=arr[i]; b = i; } printf("Max is arr[%d] = %d , Min is arr[%d] = %d\n", a, max, b, min); printf("Between max and min is %d elements\n", a - b); return 0; }
Объяснение кода листинга программы
В этом коде выполняются следующие действия:
- Объявляются переменные:
i
- это счётчик, который используется в циклах.a
иb
- это переменные, которые используются для поиска максимального и минимального значений в массивеarr
.arr
- это массив, в котором хранятся 10 целых чисел.max
иmin
- это переменные, которые используются для хранения максимального и минимального значений массиваarr
. Изначально предполагается, что первое значение в массиве (arr[0]
) является и максимальным, и минимальным.
- Запускается первый цикл, который проходит по всем элементам массива
arr
. Если текущий элемент больше, чемmax
, то обновляются значенияmax
иa
, гдеa
- это индекс этого элемента. - Запускается второй цикл, который также проходит по всем элементам массива
arr
. Если текущий элемент меньше, чемmin
, то обновляются значенияmin
иb
, гдеb
- это индекс этого элемента. - Выводятся значения
max
,min
,a
иb
, чтобы пользователь мог увидеть, какие значения были найдены. - Вычисляется количество элементов между максимальным и минимальным значениями, т.е.
a - b
, и выводится на экран. - Возвращается 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д