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

Сумма эл-ов массива - C++

Восстановить пароль Регистрация
 
Ursen_Jus
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 14
28.01.2013, 10:33     Сумма эл-ов массива #1
Найти сумму положительных элементов массива а[6]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2013, 10:33     Сумма эл-ов массива
Посмотрите здесь:

C++ Сумма двумерного массива
Сумма массива C++
Составить программу, в которой вычислить z=(s1+s2)/(k1*k2), где s1 и k1 - сумма и количество положительных элементов массива Х[N]; s1 u k2 - сумма C++
C++ Дан массив из 9 целых чисел. Найти сумму элементов массива и, если она четная, вывести сообщение "Сумма четная", в противном случае напечатать "Сумма
C++ Сумма элементов массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
28.01.2013, 10:43     Сумма эл-ов массива #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <functional>
#include <iostream>
 
 
template < typename iterator, typename T, typename pred >
T accumulate_if(iterator first, iterator last, const T& start, pred p)
{
    T result = start;
    while (first != last)
    {
        if (p(*first))
            result += *first; 
        ++first;
    }
    return result;
}
 
int main()
{
    int array[] = { -3, -2, -1, 0, 2, 3, 4 };
    std::cout << accumulate_if(std::begin(array), std::end(array), 0, std::bind2nd(std::greater<int>(), 0)) << std::endl;
}
Amaziinq
 Аватар для Amaziinq
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 11
28.01.2013, 10:49     Сумма эл-ов массива #3
Без обобщения.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
 
int main()
{
    int a[6];
    int sum(0);
    for ( int i = 0; i < 6; i++)
    {
        a[i] = rand() % 10 - 6;
        cout<<a[i]<<" ";         // Для проверки
        if (a[i] > 0)
            sum+=a[i];
    }
    cout<<endl;
    cout<<sum;
        
    return 0;
}
Ursen_Jus
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 14
28.01.2013, 10:50  [ТС]     Сумма эл-ов массива #4
Подскажите как записать формулу суммы спасибо.
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
28.01.2013, 10:51     Сумма эл-ов массива #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <numeric>
#include <iostream>
 
 
inline int func(int init, int iter)
{
    return iter > 0 ? init + iter : init;
}
 
int main()
{
    int array[] = { -3, -2, -1, 0, 2, 3, 4 };
    std::cout << std::accumulate(std::begin(array), std::end(array), 0, func) << std::endl;
}
Ursen_Jus
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 14
28.01.2013, 11:01  [ТС]     Сумма эл-ов массива #6
А другие варианты есть ? Не совсем понятно для меня написали.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2013, 11:27     Сумма эл-ов массива
Еще ссылки по теме:

Сумма элементов массива C++
Сумма элементов массива, у которых сумма индексов, на которых они находятся, - четное число. Проверить код C++
C++ Сумма элементов массива

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,891
Записей в блоге: 2
Завершенные тесты: 1
28.01.2013, 11:27     Сумма эл-ов массива #7
Цитата Сообщение от Ursen_Jus Посмотреть сообщение
А другие варианты есть ?
Конечно есть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <cstdlib>
#include <ctime>
#include <iostream>
 
 
int main(){
    srand(time(NULL));
    const int size=6;
    int arr[size];
    int summ=0;
    for(int i=0;i<size;summ+=(arr[i]=rand()%21-10)>0?arr[i++]:(++i,0)); //Во извращенец, аж сам в шоке o_O
    for(int i=0;i<size;++i)
        std::cout<<arr[i]<<' ';
    std::cout<<std::endl;
    std::cout<<"S = "<<summ<<std::endl;
    return 0;
}
или, например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cstdlib>
#include <ctime>
#include <iostream>
 
 
int main(){
    srand(time(NULL));
    const int size=6;
    int arr[size];
    int summ=0;
    for(int i=0;i<size;++i){
        arr[i]=rand()%21-10;
        if(arr[i]>0) 
            summ+=arr[i];
    }
    for(int i=0;i<size;++i)
        std::cout<<arr[i]<<' ';
    std::cout<<std::endl;
    std::cout<<"S = "<<summ<<std::endl;
    return 0;
}
Yandex
Объявления
28.01.2013, 11:27     Сумма эл-ов массива
Ответ Создать тему
Опции темы

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