Произведение четных элементов массива на C++

Всем доброго времени суток. У меня задание — ввести одномерный массив A из 12 элементов. Определить в нём произведение чётных элементов.

Я написал эту программу, но она не работает. Что не так?

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{  float x,sum;
    int arr[12];
        for (int i = 0; i < 12; i++) 
        {
            cout << "  " << i + 1 << " " << ": ";
            cin >> arr[i];
            if (arr[i]%2==0)
            {sum *=arr[i];
        }

}
    cout << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
  1. У вас не инициализирована переменная sum.
  2. Разберитесь с расположением фигурных скобок.
  3. Не используйте константу EXIT_SUCCESS. Пишите просто return 0.

Рабочий код выглядит примерно так:

#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
    int sum = 1;
    int arr[12];

    for (int i = 0; i < 12; i++) {
        cin >> arr[i];
        if ((arr[i] % 2) == 0) {
            sum *= arr[i];
        }
    }
    cout << "sum=" << sum << endl;
    return 0;
}

P.S. Советую почитать про массивы в C++.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.