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

Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами - C++

Восстановить пароль Регистрация
 
filimoncc
1 / 1 / 1
Регистрация: 02.12.2013
Сообщений: 101
18.12.2013, 23:37     Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами #1
Дан одномерный массив, состоящий из N вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами. Напишите код с++

Добавлено через 49 секунд
и дополнение к условию:
Выведите искомое произведение с 3 знаками после десятичной точки или 0, если между максимальным и минимальным по модулю элементом нет других элементов.

Добавлено через 9 минут
помогите, срочно нужно111

Добавлено через 23 минуты
ап темы

Добавлено через 9 минут
ап темы2
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2013, 23:37     Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Посмотрите здесь:

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
Одномерный массив ( вычислить произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами) C++
вычислить произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
19.12.2013, 00:40     Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами #2

Не по теме:

Настучать бы по лицу за такой "аптемы111".


Держи программу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <utility>
#include <algorithm>
#include <iostream>
#include <stdio.h>
 
int main()  {
    typedef double* T;
    std::size_t constexpr N = 6;
 
    auto predMinMax = [](double l, double r) {
        return std::abs(l) < std::abs(r) ? true : false; };
    auto predAccumulate = [] (double l, double r) {
        return l * r; };
 
    double da[N]{13.5, 5.4, 1.6, 2.0, 3.0, -18.0};
    std::pair<T,T> minMaxElems = std::minmax_element(da, da+N, predMinMax);
 
    double multiply = 0.0;
    T minElem = minMaxElems.first;
    T maxElem = minMaxElems.second;
    if(minElem == maxElem || minElem+1 == maxElem || minElem-1 == maxElem )
        std::cout << multiply << std::endl;
    else if(minElem < maxElem)
    {
        multiply = *(minElem+1);
        multiply = std::accumulate(minElem+2, maxElem, multiply, predAccumulate);
    }
    else if(maxElem < minElem)
    {
        multiply = *(maxElem+1);
        multiply = std::accumulate(maxElem+2, minElem, multiply, predAccumulate);
    }
    else
        abort();
 
    printf("%.3f\n", multiply);
    return EXIT_SUCCESS;
}
Добавлено через 2 минуты
P.s. Кто подскажет как в std::cout задавать количество знаков после точки в double, буду благодарен.
ostream::precision() не то, потому что учитывается и количество знаков в целой части.
Миниатюры
Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами  
filimoncc
1 / 1 / 1
Регистрация: 02.12.2013
Сообщений: 101
19.12.2013, 00:44  [ТС]     Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами #3
gromo, а можно на чистом с++ и с коментами?
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
19.12.2013, 00:46     Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами #4
Цитата Сообщение от filimoncc Посмотреть сообщение
а можно на чистом с++ и с коментами?
это чистый с++ ( ну кроме 36 строки, там использована Си-функция printf())
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
19.12.2013, 00:48     Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами #5
Цитата Сообщение от gromo Посмотреть сообщение
P.s. Кто подскажет как в std::cout задавать количество знаков после точки в double, буду благодарен.
ostream::precision() не то, потому что учитывается и количество знаков в целой части.
Почему не то?
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <iomanip>
 
int main()
{
    std::cout << std::fixed << std::setprecision(5) << 12.123432 << " " << 122.123432 << " " << 1222.123432 << '\n'
              << 122222222222.123432;
}
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
19.12.2013, 01:08     Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами #6
Dani, забыл про fixed. Благодарю
Yandex
Объявления
19.12.2013, 01:08     Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Ответ Создать тему
Опции темы

Текущее время: 03:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru