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