Определить, есть ли в заданном целочисленном векторе A (N) элементы со значением, равным заданному числу B - C (СИ)

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

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

Если в заданном целочисленном векторе A(N) есть элементы со значением, равным заданному числу B, то переменной С присвойте значение, равное сумме всех элементов, предшествующих первому по порядку такому элементу; в противном случае вывести соответствующий текст Помогите с решением математически... что то не могу понять как тут решить( Пожалуйста))

Решение задачи: «Определить, есть ли в заданном целочисленном векторе A (N) элементы со значением, равным заданному числу B»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
const int* exists(const int *ptr, size_t size, int element)
{
    size_t i;
    for (i = 0; i < size; i++)
    {
        if (ptr[i] == element)
        {
            return ptr + i;
        }
    }
    return NULL;
}
 
int sum(const int* begin, const int* end)
{
    int sum = 0;
    while (begin != end)
    {
        sum += *begin++;
    }
    return sum;
}
 
int main()
{
    const size_t n = 10;
    int array[10] = { 1, 2, 3, 4, 5, 
                     6, 7, 8, 9, 10 };
    int c = -1;
    int b = 4;
    const int *ptr = exists(array, n, b);
    if (ptr)
    {
        c = sum(array, ptr);
        printf("Sum: %d\n", c);
    }
    else
    {
        printf("%d not found in array\n", b);
    }
    return EXIT_SUCCESS;
}

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

  1. В функции exists происходит поиск первого вхождения числа element в векторе ptr с размерностью size. Если число найдено, функция возвращает указатель на первый элемент, в котором оно найдено, иначе возвращает NULL.
  2. В функции sum происходит вычисление суммы всех элементов вектора begin до end.
  3. В функции main определен размер вектора n, инициализирован массив array и переменные c и b.
  4. Вызывается функция exists для поиска первого вхождения числа b в массиве array.
  5. Если число найдено, вызывается функция sum для вычисления суммы элементов вектора array до найденного числа.
  6. Если число не найдено, выводится сообщение об этом.
  7. Выводится результат вычисления суммы или сообщение об отсутствии числа в массиве.
  8. Программа возвращает EXIT_SUCCESS.

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

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