Определить, есть ли в заданном целочисленном векторе 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; }
Объяснение кода листинга программы
- В функции
exists
происходит поиск первого вхождения числаelement
в вектореptr
с размерностьюsize
. Если число найдено, функция возвращает указатель на первый элемент, в котором оно найдено, иначе возвращаетNULL
. - В функции
sum
происходит вычисление суммы всех элементов вектораbegin
доend
. - В функции
main
определен размер вектораn
, инициализирован массивarray
и переменныеc
иb
. - Вызывается функция
exists
для поиска первого вхождения числаb
в массивеarray
. - Если число найдено, вызывается функция
sum
для вычисления суммы элементов вектораarray
до найденного числа. - Если число не найдено, выводится сообщение об этом.
- Выводится результат вычисления суммы или сообщение об отсутствии числа в массиве.
- Программа возвращает
EXIT_SUCCESS
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д