Посчитать количество чисел между двумя значениями - 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, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д