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