Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
ShadowThunder
0 / 0 / 0
Регистрация: 14.05.2013
Сообщений: 23
1

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

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

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

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

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

Найти сумму модулей элементов массива, расположенных после первого отрицательного элемента
Найти сумму модулей элементов массива, расположенных после первого...

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

Найти сумму модулей элементов массива, расположенных после первого элемента, равного нулю.
Массив состоящий из 10 элементов заполнить случайными числами. Найти сумму...

4
Ev[G]eN
iOS/Android Developer
Эксперт С++
5116 / 1554 / 950
Регистрация: 23.01.2011
Сообщений: 3,185
Завершенные тесты: 1
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
Эксперт С++
5116 / 1554 / 950
Регистрация: 23.01.2011
Сообщений: 3,185
Завершенные тесты: 1
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
Эксперт С++
4232 / 2206 / 203
Регистрация: 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

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

Найти сумму модулей элементов массива, расположенных после первого элемента, равного нулю
Народ нужна помощь помогите с програмой не могу завтро зачет не могу ее...

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


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

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

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