0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 8
1

Вычислить сумму положительных элементов массива, расположенных до максимального элемента

08.10.2012, 22:34. Показов 5543. Ответов 4
Метки нет (Все метки)

Помогите написать программу на С++: В одномерном массиве, состоящем из n вещественных элементов, вичислить сумму положительных элементов массива, расположенных до максимального элемента.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2012, 22:34
Ответы с готовыми решениями:

Найти сумму положительных элементов массива, расположенных до максимального элемента
Исправте ошибку, не понимаю в чем дело:-| В одномерном целочисленном массиве (размер массива (не...

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

Найти сумму и произведение положительных элементов массива, расположенных до максимального элемента
Дан массив чисел В. Найти сумму и произведение положительных элементов массива, расположенных до...

Найти сумму и произведение положительных элементов массива, расположенных до максимального элемента
С++ Builder Функции Дан массив чисел В. Найти сумму и произведение положительных элементов...

4
2098 / 1619 / 690
Регистрация: 27.07.2012
Сообщений: 4,853
08.10.2012, 23:18 2
Вариант для начинающего:
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
#include <iostream>
 
int main(void)
{
    int intArray[N];
    std::cout << "Array: ";
    for (int i = 0; i < N; ++i)
    {
        intArray[i] = rand() % 100;
        std::cout << intArray[i] << ' ';
    }
    std::cout << std::endl;
 
    int PosMax = 0;
    int CurrMax = 0;
    for (int i = 0; i < N; ++i)
    {
        if (intArray[i] > CurrMax)
        {
            CurrMax = intArray[i];
            PosMax = i;
        }
    }
    std::cout << "Position Of Max Element: " << PosMax << std::endl;
    
    int Sum = 0;
    for (int i = 0; i < PosMax; ++i)
    {
        if (intArray[i] > 0)
            Sum += intArray[i];
    }
    std::cout << "Sum: " << Sum << std::endl;
    system("pause");
    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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <algorithm>
 
const int N = 10;
 
void randVal(int & x)
{
    x = rand() % 100;
}
 
class TSum
{
public:
    TSum(void) : sum_(0) {}
    void operator()(int x) { sum_ += x; }
    int Value(void) const { return sum_; }
private:
    int sum_;
};
 
int main(void)
{
    int Array[N];
    std::for_each(Array, Array + N, randVal);
    std::cout << "Array: ";
    std::copy(Array, Array + N, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    int * Max = std::max_element(Array, Array + N);
    std::cout << "Max Element: " << *Max << std::endl;
 
    int Sum = std::for_each(Array, Max, TSum()).Value();
    std::cout << "Sum: " << Sum << std::endl;
    system("pause");
    return 0;
}
1
574 / 557 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
08.10.2012, 23:42 3
John Prick, что-то вы увлеклись for_each, а с суммой вообще перемудрили)
std::array для самого массива
std::generate для заполнения значениями
std::accumulate для суммирования
0
2098 / 1619 / 690
Регистрация: 27.07.2012
Сообщений: 4,853
08.10.2012, 23:46 4
Ну может быть. Не всю stl я хорошо знаю. Что знаю, то и применяю.
0
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 8
09.10.2012, 18:00  [ТС] 5
Подскажите, пожалуста, как в этой программе определить время работы данного алгоритма в единицах времени?

Добавлено через 2 часа 46 минут
Уже не нужно!!!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2012, 18:00
Помогаю со студенческими работами здесь

Вычислить сумму элементов массива, расположенных после максимального элемента
Доброго времени суток! Дали задания на языке С++: Задача 3.1. Вводить линейные массивы разных...

Вычислить сумму отрицательных элементов, расположенных после максимального элемента массива
ПОМОГИТЕ СТУДЕНТУ!!!! ______________________ Вычислить сумму отрицательных элементов,...

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

В одномерном массиве вычислить номер максимального элемента массива и сумму элементов массива, расположенных после первого положительного
Задача 2. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) номер...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru