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

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

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

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

14.05.2013, 20:40. Просмотров 742. Ответов 4
Метки нет (Все метки)

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

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

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

Найти сумму модулей элементов массива, расположенных после первого отрицательного элемента - C++
Найти сумму модулей элементов массива, расположенных после первого отрицательного элемента. Вот код: #include <conio.h> #include...

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

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

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

4
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
14.05.2013, 21:11 #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
#include <functional>
#include <algorithm>
#include <iostream>
#include <iterator>
#include <numeric>
#include <random>
#include <array>
#include <ctime>
 
int main()
{
    auto randomGeneration = std::bind(std::uniform_int_distribution <> (-10, 10),
                                      std::mt19937 (time(nullptr)));
    const std::size_t arraySize(25);
    std::array <int, arraySize> array;
    std::generate(array.begin(), array.end(), randomGeneration);
    std::cout << "Array: " << std::endl;
    std::copy(array.begin(), array.end(), std::ostream_iterator <int> (std::cout, " "));
 
    unsigned firstZeroPosition(std::distance(array.begin(), std::find(array.begin(), array.end(), 0)));
    std::cout << std::endl << "Sum after " << (firstZeroPosition + 1) << "th element: ";
    std::cout << std::accumulate(array.begin() + firstZeroPosition, array.end(), 0, [] (int tempSum, int currentNumber) -> int {
        return tempSum += abs(currentNumber);
    }) << std::endl;
 
    return 0;
}
1
ShadowThunder
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 23
14.05.2013, 21:33  [ТС] #3
А можно как-то проще для одномерных массивов код написать?
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
14.05.2013, 21:46 #4
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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
int main()
{
    srand(time(0));
    const std::size_t arraySize(10);
    int array[arraySize];
 
    std::cout << "Array: " << std::endl;
    for (unsigned i = 0; i < arraySize; i++)
        std::cout << (array[i] = rand() % 21 - 10) << " ";
    std::cout << std::endl;
 
    int firstZeroPosition(-1);
    for (unsigned i = 0; i < arraySize; i++) {
        if (!array[i]) {
            firstZeroPosition = i;
            break;
        }
    }
 
    if (firstZeroPosition != -1 && firstZeroPosition != arraySize - 1) {
        unsigned resultSum(0);
        for (unsigned i = firstZeroPosition; i < arraySize; i++)
            resultSum += std::abs(array[i]);
        std::cout << "Sum after " << (firstZeroPosition + 1) << "th element: " << resultSum << std::endl;
    } else {
        std::cout << "Error!" << std::endl;
    }
 
    return 0;
}
0
Thinker
Эксперт С++
4229 / 2203 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.06.2013, 19:15 #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
 
int *First(int *a, int *end)
{
   return a < end ? (*a ? First(a + 1, end) : a) : a;
}
 
int Sum(int *a, int *end)
{
   return a < end ? abs(*a) + Sum(a + 1, end) : 0;
}
 
int main()
{
   int a[] = {1, 2, 0, -3, 4, -5, 0}, n;
   n = sizeof(a) / sizeof(*a);
   printf("%d\n", Sum(First(a, a + n) + 1, a + n));
   return 0;
}
1
13.06.2013, 19:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2013, 19:15
Привет! Вот еще темы с ответами:

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

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

Найти количество элементов массива, расположенных после первого нулевого элемента - C++
Задан массив целых чисел Х(n). Найти количество элементов массива, расположенных после первого нулевого элемента.

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


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

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

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