@im_noob

С: Где ошибка в коде?

Задание: Даны натуральные числа n, m и последовательность натуральных чисел a1, a2, ..., an. Если в заданной последовательности есть хотя бы один член, который равен m, то вычислить сумму тех членов, следующих за первым таким числом; в противном случае - вычислить сумму всех членов заданной последовательности.

Вот код, который я написал, а препод говорит, что задача решена неправильно. Код запускается и работает.

#include <stdio.h>
#include <conio.h>
 
main()
{
    int n;      // сколько чисел в последовательности
    int m;      // искомое число
 
        printf("n = "); scanf_s("%d", &n);
        printf("m = "); scanf_s("%d", &m);
 
    int sum = 0;
    int go = 1;
    int a;
    if (n > 0)
    {
        for (int i = 0; i < n; i++)
        {
            printf("k[%i] = ", i + 1);
            scanf_s("%d", &a);
            if (m == a) go = 0;
            if (go > 0) sum += a;
        }
 
        printf("sum = %d\n", sum);
    }
    _getch();
    return 0;
}
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy
Android developer at Yandex
вычислить сумму тех членов, следующих за первым таким числом; в противном случае - вычислить сумму всех членов заданной последовательности.

Ну так этот код не делает того, что надо. В случае появления элемента, равного m, он считает сумму элементов до, а не после.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 22:03
3000 руб./за проект
23 нояб. 2024, в 21:53
30000 руб./за проект
23 нояб. 2024, в 21:49
1000 руб./в час