
Написать программы для решения задач: 1.Напишите программу, которая в последовательности
натуральных чисел определяет максимальное число. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода) Программа должна вывести одно число: максимальное число последовательности. 2. Напишите программу, которая в последовательности из N натуральных чисел определяет максимальное четное число. Программа получает на вход число N- количество чисел, а затем N чисел. Программа должна вывести одно число: максимальное четное число последовательности. На c++.

Ответы на вопрос

1.
#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
std::vector<unsigned int> arr;
while(true)
{
unsigned int tmp;
std::cin >> tmp;
if(tmp != 0)
arr.push_back(tmp);
else break;
}
std::cout << *std::max_element(arr.cbegin(), arr.cend()) << std::endl;
return 0;
}
2.
#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
int main()
{
int N;
std::cin >> N;
std::vector<unsigned int> arr(N);
for(auto& i : arr)
std::cin >> i;
std::sort(arr.begin(), arr.end(), std::greater<unsigned int>());
for(auto& i : arr)
{
if(i % 2 == 0)
{
std::cout << i << std::endl;
return 0;
}
}
return 0;
}





Для решения этих задач на C++, вы можете использовать следующие программы:
- Нахождение максимального числа в последовательности:
cpp#include <iostream>
using namespace std;
int main() {
int number, maxNumber = 0;
while (true) {
cout << "Введите число (0 для завершения ввода): ";
cin >> number;
if (number == 0)
break;
if (number > maxNumber)
maxNumber = number;
}
cout << "Максимальное число: " << maxNumber << endl;
return 0;
}
- Нахождение максимального четного числа в последовательности из N чисел:
cpp#include <iostream>
using namespace std;
int main() {
int N, number, maxEvenNumber = 0;
cout << "Введите количество чисел: ";
cin >> N;
for (int i = 0; i < N; i++) {
cout << "Введите число " << i + 1 << ": ";
cin >> number;
if (number % 2 == 0 && number > maxEvenNumber)
maxEvenNumber = number;
}
if (maxEvenNumber != 0)
cout << "Максимальное четное число: " << maxEvenNumber << endl;
else
cout << "В последовательности нет четных чисел." << endl;
return 0;
}
Обратите внимание, что оба кода используют бесконечный цикл (while(true) или for(;;)) для ввода чисел до тех пор, пока пользователь не введет "0" для завершения ввода. Каждое число проверяется, и если оно больше текущего максимального числа (или максимального четного числа для задачи 2), оно становится новым максимальным числом.
Код для задачи 1 прерывается, когда пользователь вводит "0", и выводит максимальное число. Код для задачи 2 сначала запрашивает количество чисел, а затем запрашивает сами числа и находит максимальное четное число. Если в последовательности нет четных чисел, программа сообщит об этом.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili