@13333

Как найти сумму элементов массива, находящихся на нечётных позициях?

Мой неудачный код:

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main()
{

    {
    setlocale(LC_ALL, "ru");
    int A[15];
    int i;
    int sum; 
    printf("ввод \n", i);
    for (i=0; i<16; i++);
    scanf("%d", &A[i]);
 sum = 0;
 for (int i=0; i<16; i++)
{
    if ((i % 2)== 1)
    sum+=A[i];
}
printf("%d\n", sum);
    }

    return 0; }
  • Вопрос задан
  • 879 просмотров
Решения вопроса 2
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Код выглядит правильно, только массив объявлен на 15 элементов, а цикл до 16 идет. И, возможно, надо 0 на 1 в проверке поменять. "Нечетные позиции", по человечески - это первая, третье и т.д. Но им соответствуют четные индексы 0, 2...

Edit: А еще в коде стоит точка с запятой после for, из-за чего цикл оказывается пустым, а вводится только один элемент (и тот за границей массива):
for (i=0; i<16; i++); // <----------
scanf("%d", &A[i]);
Ответ написан
0xCitaDel
@0xCitaDel
Нахождение суммы по счету элементов массива, а не по их индексу

#define N 10

int main() {
    int A[N] = {0, 1, 4, 56, 77};
    int sum = 0;

    for (int i = 0; i < N; ++i) {
        if ((i + 1) % 2 == 0)
            sum += A[i];
    }
    printf("%d", sum);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы