Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
abil
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 28
#1

Найти максимальное число из 4-х переменных - C++

15.08.2014, 22:37. Просмотров 1392. Ответов 16
Метки нет (Все метки)

Найти максимальное число из 4-х (возможно разных) переменных
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2014, 22:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти максимальное число из 4-х переменных (C++):

Найти число в двоичной записи которого максимальное число единиц - C++
Среди простых чисел ,не превосходящих N ,найти такое ,в двоичной записи которого максимальное число единиц. Уважаемые форумчане помогите...

Найти максимальное число в массиве и определить, сколько цифр числа делятся на число Z - C++
Массив intA=

Среди простых чисел найти найти такое, в двоичной записи которого максимальное число единиц. - C++
Помогите пожалуйста! Среди простых чисел, не превосходящих n, найти такое, в двоичной записи которого максимальное число единиц.

Найти максимальное число - C++
Всем доброго времени суток. Суть такова: юзер вводит число от 1 до 100 (включительно). Далее необходимо вывести максимальное число...

Найти максимальное число - C++
Даны 6 различных чисел. Определить максимальное из них. (Определить функцию, находящую максимум из 2 различных чисел)

Найти максимальное число - C++
как найти максимальное число?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
John Prick
784 / 717 / 133
Регистрация: 27.07.2012
Сообщений: 2,053
Завершенные тесты: 3
15.08.2014, 22:41 #2
C++
1
2
3
4
5
6
7
8
#include <algorithm>
int main(void)
{
    int a = 1, b = 2, c = 3, d = 4;
    using std::max;
    int maximum = max(a, max(b, max(c, d)));
    return 0;
}
gru74ik
Модератор
Эксперт CЭксперт С++
4159 / 1785 / 197
Регистрация: 20.02.2013
Сообщений: 4,917
Записей в блоге: 21
15.08.2014, 22:44 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <algorithm>
 
int main ()
{
   int a, b, c, d;
   std::cout << "Enter values of variable a: ";
   std::cin >> a;
   std::cout << "Enter values of variable b: ";
   std::cin >> b;
   std::cout << "Enter values of variable c: ";
   std::cin >> c;
   std::cout << "Enter values of variable d: ";
   std::cin >> d;
   std::cout << "The largest value is: " << std::max(a, b, c, d) << std::endl;
   return 0;
}
abil
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 28
15.08.2014, 22:44  [ТС] #4
а что значит std?
John Prick
784 / 717 / 133
Регистрация: 27.07.2012
Сообщений: 2,053
Завершенные тесты: 3
15.08.2014, 22:50 #5
Цитата Сообщение от abil Посмотреть сообщение
а что значит std?
Пространство имён стандартной библиотеки, где лежат всякие разные функции, в том числе и функция max, которая возвращает большее из двух переданных ей чисел.
gru74ik
Модератор
Эксперт CЭксперт С++
4159 / 1785 / 197
Регистрация: 20.02.2013
Сообщений: 4,917
Записей в блоге: 21
15.08.2014, 23:20 #6
Чё-то я свой код проверил, и понял, что напортачил. В первом варианте, который я привёл, всё будет работать, если будет две переменных для сравнения:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <algorithm>
 
int main ()
{
    int a, b;
    std::cout << "Enter values of variable a: ";
    std::cin >> a;
    std::cout << "Enter values of variable b: ";
    std::cin >> b;
    std::cout << "The largest value is: " << std::max(a, b) << std::endl;
 
    return 0;
}
А вот такой код работает, когда переменных больше двух:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <algorithm>
#include <vector>
 
int main ()
{
    int vecSize;
    std::cout << "How many variables you want to enter? ";
    std::cin >> vecSize;
    std::vector <int> vec(vecSize);
    for (int i=0; i<vec.size(); ++i)
    {
        std::cout << "Enter value of " << i+1 << " variable: ";
        std::cin >> vec[i];
    }
 
    std::cout << "The largest element is "
              << *std::max_element(vec.begin(), vec.end())
              << std::endl;
 
    return 0;
}
John Prick
784 / 717 / 133
Регистрация: 27.07.2012
Сообщений: 2,053
Завершенные тесты: 3
15.08.2014, 23:23 #7
gru74ik, по условию переменных четыре. Ни больше, ни меньше.
ValeryS
Модератор
6558 / 5024 / 464
Регистрация: 14.02.2011
Сообщений: 16,777
15.08.2014, 23:29 #8
Цитата Сообщение от John Prick Посмотреть сообщение
int maximum = max(a, max(b, max(c, d)));
а можно так
C++
1
int maximum = max( max(a,b), max(c, d));
gru74ik
Модератор
Эксперт CЭксперт С++
4159 / 1785 / 197
Регистрация: 20.02.2013
Сообщений: 4,917
Записей в блоге: 21
15.08.2014, 23:31 #9
Цитата Сообщение от John Prick Посмотреть сообщение
gru74ik, по условию переменных четыре. Ни больше, ни меньше.
Ну тогда так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
#include <vector>
 
int main ()
{
    const int vecSize = 4;
    std::vector <int> vec(vecSize);
    for (int i=0; i<vecSize; ++i)
    {
        std::cout << "Enter value of " << i+1 << " variable: ";
        std::cin >> vec[i];
    }
 
    std::cout << "The largest element is "
              << *std::max_element(vec.begin(), vec.end())
              << std::endl;
 
    return 0;
}
John Prick
784 / 717 / 133
Регистрация: 27.07.2012
Сообщений: 2,053
Завершенные тесты: 3
15.08.2014, 23:33 #10
gru74ik, да понятно, что это работает. Просто у ТС такая задача, что векторы и даже наверное stl тут неуместны.
gru74ik
Модератор
Эксперт CЭксперт С++
4159 / 1785 / 197
Регистрация: 20.02.2013
Сообщений: 4,917
Записей в блоге: 21
15.08.2014, 23:35 #11
Цитата Сообщение от John Prick Посмотреть сообщение
gru74ik, да понятно, что это работает. Просто у ТС такая задача, что векторы и даже наверное stl тут неуместны.
Ну тогда тупо в лоб на ифах, как тут.
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
16.08.2014, 02:18 #12
А можно немного поизвращаться
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <algorithm>
#include <cmath>
 
using namespace std;
typedef long long ll;
 
int main()
{
    ll a,b,c,d;
    cin>>a>>b>>c>>d;
    cout<<abs(min(min(-a,-b),min(-c,-d)));
    system("pause");
    return 0;
}
zer0mail
2332 / 1958 / 192
Регистрация: 03.07.2012
Сообщений: 7,021
Записей в блоге: 1
16.08.2014, 11:15 #13
Извращаться нужно грамотно (ответ будет неверным, если все числа отрицательные).
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
16.08.2014, 12:06 #14
C++11:
C++
1
std::max( { a, b, c, d } );
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
16.08.2014, 16:27 #15
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int a, b, c, d;
 
std::cin >> a >> b >> c >> d;
 
int max = a;
 
if ( b > max )
   max = b;
 
if ( c > max )
   max = c;
 
if ( d > max )
   max = d;
 
std::cout << max << std::endl;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2014, 16:27
Привет! Вот еще темы с ответами:

Массив. Найти максимальное число - C++
Дан массив целых случайных чисел (размер массива определяет пользователь, но в диапазоне ). Найти максимальное число

Найти максимальное число в массив - C++
Здравствуйте! Помогите найти максимальное число в массиве.

Найти максимальное число в последовательности - C++
Помогите немного=) Прога фурычит, вот только хотелось бы узнать, как инициализировать max более логично, а не самым маленьким значением от...

Найти максимальное число из 3 чисел - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; int main() { int x, y, z; cin &gt;&gt; x, y, z; cout...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.08.2014, 16:27
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru