Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.08.2018
Сообщений: 2

Вывести максимальное число из набора если в нем есть хоть одно четное число

21.08.2018, 22:37. Показов 1258. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
если среди 3 чисел есть парное , то вывести максимальное если нет то мин.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.08.2018, 22:37
Ответы с готовыми решениями:

Вывести на экран наибольшее четное число, если хотя бы одно такое число есть
Даны три целых числа. Вывести на экран наибольшее четное число, если хотя бы одно такое число есть, в противном случае сообщить об...

Даны три целых числа. Вывести наибольшее четное число, если хотя бы одно такое число есть
Даны три целых числа. Вывести наибольшее четное число, если хотя бы одно такое число есть, в противном случае сообщить об отсутствии четных...

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

11
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
22.08.2018, 00:01
Цитата Сообщение от ALEX_lap Посмотреть сообщение
есть парное
парное это какое?
Цитата Сообщение от ALEX_lap Посмотреть сообщение
вывести максимальное если нет то мин.
3 3 3
что выводить будем?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
22.08.2018, 07:46
C++
1
2
3
4
5
6
7
8
int a[3], mx=0, mn=0;
bool IsPar = false;
for(int i=0; i<3; i++) {
  if (i==0 || a[i]>mx) mx = a[i];
  if (i==0 || a[i]<mn) mn = a[i];
  if (a[i]%2==0) IsPar = true;
}
cout << IsPar ? mx : mn << endl;
Псевдокод
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
22.08.2018, 08:13
Цитата Сообщение от Байт Посмотреть сообщение
int a[3], mx=0, mn=0;
C++
1
2
int a[3]={1,-10,77};
int mx=a[0], mn=a[0];
0
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
22.08.2018, 08:37
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void findPair(int* a, int size_a)
{
  int min, max;
  bool isPar = (a[0] % 2) == 0;
  min = max = a[0];
 
  for( int i = 1; i < size_a; i+)
  {
     if( isPar == false ) isPar = (a[i] %2) == 0;
     if(a[i] < min) min = a[i];
     if(a[i] > max) max = a[i];
     }
  }
  cout << (isPar ? ("Максимальное четное" << max) : ("Минимальное нечетное " << min) ) << endl;
}
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
22.08.2018, 08:49
Цитата Сообщение от Байт Посмотреть сообщение
if (a[i]%2==0) IsPar = true;
ну если речь о четных, тады ... вспомним математику
произведение четное если хотя бы один сомножитель четный
C++
1
2
3
4
if((a*b*c)%2==0)// четное
 cout<<max(a,max(b,c));
else // нечетное 
 cout<<min(a,min(b,c));
1
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
22.08.2018, 09:20
Все таки человек не ответил на вопрос, что значит парное. Посчитали, что парное - это четное. Но скорее всего парное, это когда 2 элемента равны. Тогда немного алгоритм поменяется. для трех элементов - это элементарно. А если больше? Тогда лучше произвести сортировку. по отсортированному массиву легко определить наличие парных элементов. При наличии парных - вывести последний элемент, так как он максимальный. При отсутствии парных - первый

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
if((a*b*c)%2==0)// четное
Я бы не тал так делать. Возможно переполнение.
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
22.08.2018, 09:23
AndreiUshakov, как известно, с украинского парное переводится как четное.
Тут уже это встречалось неоднократно.
Цитата Сообщение от AndreiUshakov Посмотреть сообщение
if( isPar == false )
isPar УЖЕ булева переменная, не надо ее еще раз сравнивать
C++
1
If( !isPar )
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
22.08.2018, 09:41
Цитата Сообщение от AndreiUshakov Посмотреть сообщение
Я бы не тал так делать. Возможно переполнение.
и что? четное превратится в нечетное?
есть еще один вариант(на самом деле не один)
C++
1
if(((a&0x1)|(b&0x01)|(c&0x01))==0))
Добавлено через 4 минуты
решение вообще без if
C++
1
cout<<min(a(min(b,c))*(((a&0x1)|(b&0x01)|(c&0x01))!=0))+max(a(max(b,c))*(((a&0x1)|(b&0x01)|(c&0x01))==0));
0
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
22.08.2018, 09:56
Цитата Сообщение от ValeryS Посмотреть сообщение
cout<<min(a(min(b,c))*(((a&0x1)|(b&0x01) |(c&0x01))!=0))+max(a(max(b,c))*(((a&0x1 )|(b&0x01)|(c&0x01))==0));
Если первый бит равен нулю, то число четное. Операция OR вернет 1, если хоть один элемент равен 1.
пример: a = 1, b = 2, c =2 ==> (a&0x1) | (b&0x01) | (c&0x01) = 1 - число нечетное.
Замени OR на AND и тогда будет 0, если хоть один элемент равен 0, что значит четное.
C++
1
2
  int isNotPair = (a & b & c) & 1;
  cout << min(a, (min(b, c)) * (isNotPair == 1) + max(a, (max(b, c))  * (isNotPair ==0);
1
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
22.08.2018, 10:18
Цитата Сообщение от AndreiUshakov Посмотреть сообщение
Если первый бит равен нулю, то число четное. Операция OR вернет 1, если хоть один элемент равен 1.
согласен,перемудрил
этак я проверяю, что хоть одно число нечетное
надо было
C++
1
if(((a&0x1)&(b&0x01)&(c&0x01))==0))
или
C++
1
if((a&b&c&0x01)==0)
или так
C++
1
if((a%2)*(b%2)*(c%2)==0)
и еще стопитсот вариантов
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
22.08.2018, 12:30
такие задачи решаются без массива

ALEX_lap,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std; 
 
int main()
{
    int a, min, max, k=0;   
      
    cout <<"Enter 3 integer numbers:\n";    
    for (int i=1; i<=3; i++)
    {  
        cin>>a;              
        if (i==1 ||a<min) min=a;
        if (i==1 ||a>max) max=a;
        if (a%2==0) k=1;
    } 
    
    if (k==1) cout<<max<<endl;
    else cout <<min<<endl;
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.08.2018, 12:30
Помогаю со студенческими работами здесь

Если среди трех чисел x,y,z имеется хотя бы одно четное, то найти максимальное число
Если среди трех чисел x,y,z имеется хотя бы одно четное, то найти максимальное число, иначе – минимальное.

Ввод 5-ти чисел, если среди них есть хоть одно отрицательное число, то программа выводит YES
1. Пользователь вводит 5 чисел, если среди них есть хоть одно отрицательное число, то программа выводит YES, иначе она выводит NO.

Дано вещественное число N(>0). Если N - нечетное число, то вывести произведение 1*3*...*N, если N - четное число, то вывести произведение 2*4*...*N
Привет ВСЕМ!!! Помогите пожалуйста с задачкой =) Дано вещественное число N(&gt;0). Если N - нечетное число, то вывести произведение...

Программа должна вывести одно число – максимальное число, кратное 5.
Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 5. Программа получает на вход...

Удаление столбцов матрицы, где есть хоть одно число Фибоначчи
please, очень нужно процедуру удаления столбцов матрицы(матрица произвольной размерности M*N) , где есть хотя бы одно число Фибоначчи


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru