Посчитать количество чисел между двумя значениями - 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;
}

Объяснение кода листинга программы

В этом коде выполняются следующие действия:

  1. Объявляются переменные:
    • i - это счётчик, который используется в циклах.
    • a и b - это переменные, которые используются для поиска максимального и минимального значений в массиве arr.
    • arr - это массив, в котором хранятся 10 целых чисел.
    • max и min - это переменные, которые используются для хранения максимального и минимального значений массива arr. Изначально предполагается, что первое значение в массиве (arr[0]) является и максимальным, и минимальным.
  2. Запускается первый цикл, который проходит по всем элементам массива arr. Если текущий элемент больше, чем max, то обновляются значения max и a, где a - это индекс этого элемента.
  3. Запускается второй цикл, который также проходит по всем элементам массива arr. Если текущий элемент меньше, чем min, то обновляются значения min и b, где b - это индекс этого элемента.
  4. Выводятся значения max, min, a и b, чтобы пользователь мог увидеть, какие значения были найдены.
  5. Вычисляется количество элементов между максимальным и минимальным значениями, т.е. a - b, и выводится на экран.
  6. Возвращается 0, что означает успешное завершение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы