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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
butterfly
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 8
#1

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

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

Помогите написать программу на С++: В одномерном массиве, состоящем из n вещественных элементов, вичислить сумму положительных элементов массива, расположенных до максимального элемента.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 22:34     Вычислить сумму положительных элементов массива, расположенных до максимального элемента
Посмотрите здесь:
C++ Найти сумму и произведение положительных элементов массива, расположенных до максимального элемента
Найти сумму и произведение положительных элементов массива, расположенных до максимального элемента C++
Вычислить сумму элементов массива, расположенных после максимального элемента C++
Вычислить сумму элементов заданного вещественного массива, расположенных после максимального элемента C++
C++ В одномерном массиве вычислить номер максимального элемента массива и сумму элементов массива, расположенных после первого положительного
Вычислить количество положительных элементов массива и сумму элементов массива, расположенных после последнего элемента, равного нулю C++
C++ Вычислить сумму положительных элементов массива, расположенных до первого нулевого элемента
C++ В одномерном массиве вычислить сумму элементов, расположенных после максимального элемента
C++ Определить сумму элементов массива, расположенных до максимального элемента и являющихся палиндромами
Вычислить среднее арифметическое количества положительных элементов массива и максимального элемента C++
Вычислить сумму элементов массива, расположенных до минимального элемента C++
Вычислить сумму элементов массива, расположенных до минимального элемента C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
773 / 706 / 129
Регистрация: 27.07.2012
Сообщений: 2,022
Завершенные тесты: 3
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;
}
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.10.2012, 23:42     Вычислить сумму положительных элементов массива, расположенных до максимального элемента #3
John Prick, что-то вы увлеклись for_each, а с суммой вообще перемудрили)
std::array для самого массива
std::generate для заполнения значениями
std::accumulate для суммирования
John Prick
773 / 706 / 129
Регистрация: 27.07.2012
Сообщений: 2,022
Завершенные тесты: 3
08.10.2012, 23:46     Вычислить сумму положительных элементов массива, расположенных до максимального элемента #4
Ну может быть. Не всю stl я хорошо знаю. Что знаю, то и применяю.
butterfly
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 8
09.10.2012, 18:00  [ТС]     Вычислить сумму положительных элементов массива, расположенных до максимального элемента #5
Подскажите, пожалуста, как в этой программе определить время работы данного алгоритма в единицах времени?

Добавлено через 2 часа 46 минут
Уже не нужно!!!!!
Yandex
Объявления
09.10.2012, 18:00     Вычислить сумму положительных элементов массива, расположенных до максимального элемента
Ответ Создать тему
Опции темы

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