• Предмет: Информатика
  • Автор: Ksusha133
  • Вопрос задан 4 месяца назад

Пожалуйста решите на языке С++
Даны N целых чисел. Вывести наибольшее четное. Если четных нет, вывести слово NO
Входящие данные:
Во входящем потоке в первой строке задано целое число N – количество элементов числовой последовательности (0 < N < 100). Во второй строке через пробел перечислены значения элементов целочисленной последовательности. Значения элементов по модулю не превышают 30 000.

Пример входящего файла (input.txt):
5
11 12 3 20 17

Исходящие данные:
В исходный поток вывести одно целое число или слово 'NO'
Пример исходного файла (output.txt):
20

Ответы

Ответ дал: MagicSticks
1

Ответ:

#include <iostream>

using namespace std;

int main() {

   int n, x, max_even = -1;

   cin >> n;

   for(int i = 0; i < n; i++) {

       cin >> x;

       if(x % 2 == 0 && x > max_even) {

           max_even = x;

       }

   }

   if(max_even == -1) {

       cout << "NO";

   } else {

       cout << max_even;

   }

   return 0;

}

Объяснение:

Код сначала считывает количество элементов последовательности n, затем в цикле считывает n чисел и проверяет, является ли число четным и больше текущего максимального четного числа max_even. Если да, то max_even обновляется. В конце проверяется, было ли найдено хотя бы одно четное число. Если да, то выводится максимальное четное число, иначе выводится слово "NO".


Ksusha133: Спасибо большое, вы просто гений
MagicSticks: Благодарю
Вас заинтересует