Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

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

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

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

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

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

Добавлено через 2 часа 46 минут
Уже не нужно!!!!!
0
09.10.2012, 18:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2012, 18:00
Привет! Вот еще темы с ответами:

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

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

Определить сумму элементов массива, расположенных до максимального элемента и являющихся палиндромами - C++
Помогите пожалуйста ребята! Определить сумму элементов массива, расположенных до максимального элемента и являющихся палиндромами.

Вычислить среднее арифметическое количества положительных элементов массива и максимального элемента - C++
просто надо в функции вычислить. Количество положительных и максимальный находит а среднее нет пищет 0? #include &lt;cmath&gt; #include...


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

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

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