Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите пожалуйста написать программу: Найти сумму индексов четных элементов массива. На языке С++.

Артём Кирсанов Знаток (308), закрыт 12 лет назад
Лучший ответ
ra Высший разум (113308) 12 лет назад
> Найти сумму индексов четных элементов массива.
Иначе говоря, ищем четные элементы массива и складываем их индексы.

#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>

int main() {
    srand(time(0));
    int n;
    std::cout << "размер массива? ";
    std::cin >> n;
    int *a = new int[n];
    std::cout << "\nмассив\nиндекс:   ";
    for (int c = 0; c < n; ++c) std::cout << std::setw(3) << c;
    std::cout << "\nзначение: ";
    for (int c = 0; c < n; ++c) std::cout << std::setw(3) << (a[c] = rand() % 100);
    int s = 0;
    for (int c = 0; c < n; ++c) if ( !(a[c] % 2) ) s += c;
    std::cout << "\n\nискомая сумма: " << s << "\n";
    delete[] a;
    return 0;
}
Остальные ответы
unalex Мудрец (12890) 12 лет назад
имеем индекс из n элементов

int S = 0; // это наша будущая сумма
int i = 0; // это наш индекс
for (i= 0; i /меньше/ n; i+2) // знак меньше не ставится, код обрезают
{
S+=i;
}
gordt Мыслитель (7241) 12 лет назад
именно сумму индексов? или сумму четных цифр?
Иван Смирнов Просветленный (25851) 12 лет назад
Я уж сня отвечал на нечто подобное.

УПД:
Ах ёпта индексов.. . тогда немного не то.
Николай Веселуха Высший разум (371910) 12 лет назад
int sum = max_index / 2 * (max_index / 2 + 1);

или так?. .
int sum = 0;
...
if (!(arr[index] & 1)) sum += arr[index];
Похожие вопросы