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

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

Восстановить пароль Регистрация
 
Евгений Щ.
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 16
22.05.2012, 20:19     В одномерном массиве, состоящем из n элементов , вычислить сумму элементов между #1
В одномерном массиве, состоящем из n элементов , вычислить сумму элементов между первым и вторым отрицательными элементами.

Добавлено через 2 часа 15 минут
Помогите пожалуйста! Срочняк надо(((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2012, 20:19     В одномерном массиве, состоящем из n элементов , вычислить сумму элементов между
Посмотрите здесь:

В одномерном массиве, состоящем из n элементов, вычислить произведение элементов между первым и вторым нулевыми элементами! C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму отрицательных элементов массива C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива с нечетными номерами. C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму положительный элементов массива, произведение... C++
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму между первым и вторым положительными элементами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
22.05.2012, 20:45     В одномерном массиве, состоящем из n элементов , вычислить сумму элементов между #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <algorithm>
#include <functional>
#include <iterator>
 
int main()
{
    int A[] = {1, 9, -2, 1, 7, 43, 4, 1, -6, 2, 1};
    const std::size_t N = sizeof(A) / sizeof(*A);
    std::copy( A, A + N, std::ostream_iterator<int> (std::cout, " ") ); 
    int *it =  std::find_if( A, A + N, std::bind2nd(std::less<int>(), 0) ); 
    std::cout<< std::endl<< std::accumulate( it + 1, std::find_if( it + 1, A + N, std::bind2nd(std::less<int>(), 0) ), 0);
    return 0;
}
Евгений Щ.
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 16
24.05.2012, 18:53  [ТС]     В одномерном массиве, состоящем из n элементов , вычислить сумму элементов между #3
Извиняюсь заранее, получилось так, что я только узнал как именно эту прогу написать надобыло , в общем
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
39
40
41
42
#include <iostream>
using namespace std;
 
template < typename X > X Sum( X *array, unsigned size )
{
    unsigned index = 0;
    for( ; index < size && array[index]; ++index );  //  цикл завершится по достижению конца массива или если значение элемента будет нулевым
 
    if( index == size )  //  если в массиве нету нулевых элементов
    {
        std::cout << "There is no zero values" << std::endl;
        cin.get();
        return 0;
    }
 
    ++index;  //  пропускаем нулевой символ
 
    X sum = 0;
    for( ; index < size && array[index]; ++index )  //  цикл прервётся как только будет достигнут конец массива или встретится нулевой символ
    {
        sum += array[index];
    }
 
    return sum;
}
 
void main()
{
    int array[10] = { 1, 2, 0, 1, 2, 3, 0, 5, 3, 4 };
    
    int sum = Sum( array, 10 );  //  передаём функции массив и его количество элементов
 
    cout << sum << endl;
 
    float fArray[8] = { 1.4f, 0.f, 2.3f, 5.6f, 2.3f, 0.f, 2.f, 6.4f };
 
    float fSum = Sum( fArray, 8 );
 
    cout << fSum << endl;
 
    ::system( "pause" );
}
надо сделать по такому примеру, только в этой программе вычисляет сумму между первым и вторым нулевыми элементами, а мне нужно между 1ым и 2ым отрицательными. Кому не сложно, помогите
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
24.05.2012, 19:57     В одномерном массиве, состоящем из n элементов , вычислить сумму элементов между #4
шаблоном что ли?

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
#include <functional>
#include <iterator>
 
template <typename T>
T amountBetweenNegative(T *A, std::size_t N)
{
    std::copy(A, A + N, std::ostream_iterator<T> (std::cout, " ") );
    T *it =  std::find_if(A, A + N, std::bind2nd(std::less<T>(), 0) ); 
    return std::accumulate(it + 1, std::find_if( it + 1, A + N, std::bind2nd(std::less<T>(), 0) ), 0);
}  
 
int main()
{
    int A[] = {1, 9, -2, 1, 7, 43, 4, 1, -6, 2, 1};
    const std::size_t N = sizeof(A) / sizeof(*A);
    std::cout<< std::endl<< amountBetweenNegative(A, N);
    return 0;
}
Евгений Щ.
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 16
26.05.2012, 13:46  [ТС]     В одномерном массиве, состоящем из n элементов , вычислить сумму элементов между #5
выдает две ошибки
>c:\users\kramer\documents\visual studio 2008\projects\jghj\jghj\ghjf.cpp(11) : error C2039: accumulate: не является членом "std"
>c:\users\kramer\documents\visual studio 2008\projects\jghj\jghj\ghjf.cpp(11) : error C3861: accumulate: идентификатор не найден
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,693
26.05.2012, 15:14     В одномерном массиве, состоящем из n элементов , вычислить сумму элементов между #6
добавьте
C++
1
#include <numeric>
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2012, 15:35     В одномерном массиве, состоящем из n элементов , вычислить сумму элементов между
Еще ссылки по теме:

C++ В одномерном массиве, состоящем из n целых элементов, вычислить сумму элементов массива, между первым и последним нулями
В одномерном массиве, состоящем из n вещественных элементов, вычислить: • сумму положительных элементов массив C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму отрицательных элементов массива C++

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

Или воспользуйтесь поиском по форуму:
Евгений Щ.
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 16
26.05.2012, 15:35  [ТС]     В одномерном массиве, состоящем из n элементов , вычислить сумму элементов между #7
спасибо большое всем)))))
Yandex
Объявления
26.05.2012, 15:35     В одномерном массиве, состоящем из n элементов , вычислить сумму элементов между
Ответ Создать тему
Опции темы

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