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

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

Войти
Регистрация
Восстановить пароль
 
npo_pok
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 10
#1

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

25.01.2014, 16:15. Просмотров 367. Ответов 4
Метки нет (Все метки)

Оформить её в виде шаблона функции. Все исходные данные для функции должны передаваться в виде параметров. Использование
глобальных переменных в функциях не допускается.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 16:15     В одномерном массиве, состоящем из n элементов, вычислить сумму эле- ментов после максимального элемента
Посмотрите здесь:

C++ В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива
C++ В одномерном массиве, состоящем из 30 целых элементов, вычислить сумму элементов массива, расположенных после последнего элемента, равного нулю.
В одномерном массиве вычислить количество отрицательных элементов и сумму модулей элементов, расположенных после минимального по модулю элемента C++
C++ В одномерном массиве, состоящем из n элементов , вычислить сумму элементов между
C++ В одновременном массиве, состоящем из n элементов, вычислить сумму элементов после максимального элемента массива
C++ В одномерном массиве вычислить сумму элементов, расположенных после максимального элемента
В одномерном целочисленном массиве вычислить сумму элементов, расположенных после минимального элемента C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить номер минимального по модулю элемента и сумму модулей элеменов массива. C++
C++ В одномерном массиве вычислить номер максимального элемента массива и сумму элементов массива, расположенных после первого положительного
В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива C++
Шаблоны функций. В одномерном массиве, состоящем из n вещественных элементов, вычислить номер максимального по модулю элемента массива C++
В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента массива; 2) произведение элементов массива, расположенных между C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
25.01.2014, 16:30     В одномерном массиве, состоящем из n элементов, вычислить сумму эле- ментов после максимального элемента #2
npo_pok, STL
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#include<vector>
#include<algorithm>
#include<iterator>
#include<numeric>
int main()
{
    std::vector <int> vec = {2,7,5,-2,6,12,3,6,3,7,-2};
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<int> (std::cout," "));
    std::cout<<"\nSum:"<<std::accumulate(std::max_element(vec.begin(),vec.end()) + 1,vec.end(),0);
    return 0;
}
Добавлено через 5 минут
npo_pok, 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
#include<iostream>
 
template <class T>
int Sum(T *mas,size_t n)
{
    int posMax = 0;
    for(size_t i=1; i<n; i++)
        posMax = mas[i]>mas[posMax]? i :posMax;
    int sum(0);
    for(size_t i = posMax + 1;i<n;i++)
        sum+=mas[i];
    return sum;
}
 
int main()
{
    size_t N;
    std::cin>>N;
    int *mas = new int [N];
    std::cout<<"Enter elements:\n";
    for(size_t i=0; i<N; i++)
        std::cin>>mas[i];
    std::cout<<"\nSum = "<<Sum(mas,N);
    return 0;
}
npo_pok
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 10
25.01.2014, 16:40  [ТС]     В одномерном массиве, состоящем из n элементов, вычислить сумму эле- ментов после максимального элемента #3
Цитата Сообщение от cooller_94 Посмотреть сообщение
std::vector <int> vec = {2,7,5,-2,6,12,3,6,3,7,-2};
выползает такая ошибка `vec' must be initialized by constructor, not by `{...}'

http://radikale.ru/data/upload/c2184...afbcc53f83.jpg
cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
25.01.2014, 16:45     В одномерном массиве, состоящем из n элементов, вычислить сумму эле- ментов после максимального элемента #4
npo_pok, Твой компилятор не поддерживает с++ 11
сделай так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<vector>
#include<algorithm>
#include<iterator>
#include<numeric>
int main()
{
    size_t N;
    std::cin>>N;
    std::vector <int> vec(N);
    std::cout<<"Enter vector:";
    for(std::vector <int> ::iterator it = vec.begin();it!=vec.end();it++)
        std::cin>>*it;
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<int> (std::cout," "));
    std::cout<<"\nSum:"<<std::accumulate(std::max_element(vec.begin(),vec.end()) + 1,vec.end(),0);
    return 0;
}
npo_pok
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 10
25.01.2014, 16:51  [ТС]     В одномерном массиве, состоящем из n элементов, вычислить сумму эле- ментов после максимального элемента #5
теперь вылезает такое:
Миниатюры
В одномерном массиве, состоящем из n элементов, вычислить сумму эле- ментов после максимального элемента  
Yandex
Объявления
25.01.2014, 16:51     В одномерном массиве, состоящем из n элементов, вычислить сумму эле- ментов после максимального элемента
Ответ Создать тему
Опции темы

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