Другие языки программирования и технологии

Как найти максимум среди четных элементов массива? С++

Помогите. Дан произвольный целочисленный массив MAS[11] , надо найти максимум среди четных элементов массива. Массив заполняется с клавиатуры.
ну, идешь по массиву.
проверяешь, четный ли элемент. если четный - проверяешь, не больше ли он предыдущего найденного максимума.

метод, кстати, сработает на любом языке программирования
Евгений Калнышев
Евгений Калнышев
38 447
Лучший ответ
Можно так (с клавиатуры массив заполнять лениво) :

#include <ctime>
#include <cstdlib>
#include <iostream>
#include <algorithm>

using namespace std;

int main() {
    srand(time(0));
    int a[11];
    for (int c = 0; c < 11; ++c) std::cout << (a[c] = rand() % 100) << ' ';
    int *f = find_if(a, a + 11, [](int x){ return x % 2 == 0; });
    if (f != a + 11) {
        cout << "\nмаксимальный четный элемент: "
            << *max_element(f, a + 11, [](int x, int y){ return y % 2 == 0 && x < y; }) << endl;
    } else {
        cout << "\nв массиве нет четных элементов\n";
    }
}
Иван Граф
Иван Граф
67 515
int max = -100500;
for (i = 0; I < 11; ++i)
if (MAS[i ] % 2 == 0 && MAS[i ] > max)
max = MAS[i ];
берёшь первый элемент, сравниваешь его со вторым, какой из них больше, тот и присваиваешь к новой переменной, потом эту новую переменную сравниваешь с 3 эл-том, и больший результат записываешь на место старого.. . и т. д. ..
вроде бы, называется "метод пузырька" погугли

Похожие вопросы