Найти сумму элементов массива с элемента, равного "5" - C (СИ)
Формулировка задачи:
Сама программа:
Программа проходит, но если в массиве две и более "5" -- берёт последнюю. Мне надо с первой. Я вставила в условие второго цикла for "k!=5", но не помогло.
#include <stdio.h> #include <math.h> #include <locale.h> const int N = 15; main() { setlocale(LC_ALL,"Rus"); int A[N], i, sum=0, k=0; printf("Введите масив m: \n"); for ( i = 0 ; i < N ; i++) { printf("Введите A[%d]: ", i); scanf("%d", &A[i]); } for (i=0; k!=5, i < N; i ++) { if (A[i]==5) k=i; } for (; k<N; k++) { sum+=A[k]; } printf("Сумма: %d", sum); }
Решение задачи: «Найти сумму элементов массива с элемента, равного "5"»
textual
Листинг программы
for (i=0; i < N; i++){ if (A[i] == 5){ k = i; break; } }
Объяснение кода листинга программы
- Переменная
i
инициализируется значением 0. - Переменная
N
содержит размер массива. - Переменная
A
содержит массив. - Переменная
k
инициализируется значением 0. - В цикле происходит проверка каждого элемента массива, начиная с индекса 0 и до тех пор, пока не будет найден элемент, равный 5.
- Если элемент равен 5, то его индекс сохраняется в переменной
k
. - Цикл прерывается, когда найден элемент, равный 5.
- Значение переменной
k
будет содержать индекс элемента, равного 5. - Сумма элементов массива с элемента, равного 5, будет равна 5 + (5 + 1) + (5 + 2) + ... + (5 + k-1).
- Сумма элементов массива с элемента, равного 5, будет равна k*(k+1)/2.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д