Найти количество элементов массива вне заданного интервала - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#include <locale.h>
 
#define B 5
 
int main()
{
     setlocale(LC_CTYPE,"Russian");
{

    float A[B];
    int i;
    int max;
    int maxIn=0;
 
    printf("Введем элементы массива\n");
    for(int i=0;i<5;i++)
    {
        printf("[%i]=",i);
        scanf("%d",&A[i]);
    }
    int count = 0;//переменная счетчика
    int x,y;
    printf ("Укажите интервал\n");
    printf ("a=",x,"\n");
scanf("%d",&x);
printf ("b=",y,"\n");
scanf("%d",&y);
float   a=A[x],b=A[y];//отрезок a,b
for(int i=0;i<5;i++)
{
     if (A[i] < a || A[i] > b)count++;//сам подсчет
 
}
 
printf("Kоличество элементов вне интервала: %d\n",count);

    for(int i=0;i<B;i++)
    {
    if ( i == 0 )
    max = A[0];
 
    if ( max <= A[i] )
 
     max = A[i];
     maxIn = i;
 
     }
     printf("Максимальный элемент: max=%d\n", A[maxIn]);
 
{
    for ( int i = maxIn+1; i < B; i++ )
    {
        sum += A[i];
    }
printf("sum=%f\n", sum);
}
return 0;

}
в этом коде необходимо было 1)найти количество элементов массива вне интервала 2)найти максимальный элемент и посчитать сумму элементов после него как ни странно 1 задание будет работать если закоментировать все кроме него ощущение логической ошибки появляется при выполнении 2 задания

Решение задачи: «Найти количество элементов массива вне заданного интервала»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#include <locale.h>
 
#define B 5
 
int main()
{
    setlocale(LC_CTYPE, "Russian");
 
 
 
        int A[B];
        int i;
        int max;
        int maxIn = 0;
        int sum=0;
        int count = 0;//переменная счетчика
        int x, y;
 
        printf("Введем элементы массива\n");
        for (int i = 0; i<5; i++)
        {
            printf("[%i]=", i);
            scanf("%i", &A[i]);
        }
        
        printf("Укажите интервал\n");
        printf("a=\n");
        scanf("%i", &x);
        printf("b=\n");
        scanf("%i", &y);
        for (i = 0; i<B; i++)
        {
            if (A[i] < x || A[i] > y)
                count++;//сам подсчет
 
        }
 
        printf("Kоличество элементов вне интервала: %i\n", count);
 
        max = A[0];
        for ( i = 0; i<B; i++)
        {
                
 
            if (max <= A[i]){
 
                max = A[i];
                maxIn = i;
            }
 
        }
        printf("Максимальный элемент: max=A[%i]=%i\n",maxIn, A[maxIn]);
 
        {
            for (i = maxIn + 1; i < B; i++)
            {
                sum += A[i];
            }
            printf("sum=%i\n", sum);
        }
        return 0;
    }

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


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

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

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