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

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

Войти
Регистрация
Восстановить пароль
 
igroman
5 / 0 / 1
Регистрация: 09.05.2013
Сообщений: 18
#1

Сравнить n-чисел и найти максимальное и минимальное значение, не прибегая к if - C++

13.05.2013, 13:59. Просмотров 547. Ответов 7
Метки нет (Все метки)

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

Найти минимальное и максимальное значение в последовательности простых чисел - C++
1) У меня не работает void main(). >> '::main' must return 'int' Пишешь int main() { return 0; } - работает без...

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

Найти максимальное и минимальное значение - C++
Задание элементарное, только никак не могу догадаться. На ввод N раз идет целое число s, нужно найти среди всех введенных чисел...

Найти минимальное и максимальное значение в массиве - C++
Что то я не пойму почему этот код не находит минимальное и максимальное значение в массиве const int SIZE=5; int mas={9,5,7}; ...

Найти максимальное и минимальное значение функции - C++
Просьба решить задачку, так как я сам ни бум бум...=( А через пару недель нужно перездать зачет. Очень прошу помочь!! Составить...

Найти максимальное и минимальное значение элементов массива - C++
Описать функции формирования элементов одномерного массива с по- мощью генератора случайных чисел и определения среднеарифметического ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
oxotnik
1589 / 1066 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
13.05.2013, 14:03 #2
std::sort
затем первый и последний элемент берешь и все.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.05.2013, 14:15 #3
std::minmax_element
затем first и second элемент берешь и все.
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
13.05.2013, 14:15 #4
std::max_element
std::min_element
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
13.05.2013, 14:26 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <algorithm>
#include <iostream>
#include <array>
 
int main()
{
    const size_t arraySize(5);
    std::array <int, arraySize> array;
 
    std::cout << "Input " << arraySize << " numbers: " << std::endl;
    for (unsigned i = 0; i < arraySize; i++)
        std::cin >> array.at(i);
 
    auto result(std::minmax_element(array.begin(), array.end()));
    std::cout << "Minimal: " << *result.first << "; Maximal: " << *result.second << ";" << std::endl;
 
    return 0;
}
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
13.05.2013, 15:07 #6
без stl:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cstdlib>
 
int main()
{
    const int size = 10;
    int* arr =  new int[size];
 
    arr[0] = rand();
    int* max = &arr[0];
    for (unsigned i = 1; i < size; ++i)
    {
        arr[i] = rand();
        max = (*max < arr[i]) ? &arr[i] : max;
    }
 
    std::cout << *max << std::endl;
}
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.05.2013, 15:09 #7
Цитата Сообщение от igroman Посмотреть сообщение
не прибегая к ужасным разветлению оператора if?
Цитата Сообщение от xtorne21st Посмотреть сообщение
max = (*max < arr[i]) ? &arr[i] : max;
однако
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
13.05.2013, 15:13 #8
либо так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstdlib>
 
int main()
{
    const int size = 10;
    int* arr =  new int[size];
 
    arr[0] = rand();
    int* max = &arr[0];
    for (unsigned i = 1; i < size; ++i)
    {
        arr[i] = rand();
        while ((*max - arr[i]) < 0)
        {
            max = &arr[i];
        }
    }
 
    std::cout << *max << std::endl;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2013, 15:13
Привет! Вот еще темы с ответами:

Найти минимальное и максимальное значение в сумме множеств - C++
Пускай множества А и В имеют элементы n и m . Найти сколько елементов в С, если С-сума множеств А и В, и найти максимальный и минимальный...

Найти максимальное и минимальное значение элементов массива - C++
Помогите пожалуйста решить задачку)совсем не силен в с++( Задан одномерный массив В,состоящем из n вещественных элементов.Найти...

Одномерный массив, найти минимальное и максимальное значение - C++
Помогите друзья очень прошу это задание на экзамен? Дан одномерный массив найти минимальное и максимальное значение?

Найти максимальное и минимальное значение функции на отрезке - C++
Для заданной функции f=x2(x-3) найти максимальное и минимальное значение функции на отрезке с точностью ∆x=h., a=5, b=15, ∆x = 0.5. ...


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

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

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