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

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

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

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

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

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

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

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

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

4
Ev[G]eN
iOS/Android Developer
Эксперт С++
5115 / 1553 / 950
Регистрация: 23.01.2011
Сообщений: 3,179
Завершенные тесты: 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
Эксперт С++
5115 / 1553 / 950
Регистрация: 23.01.2011
Сообщений: 3,179
Завершенные тесты: 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
Привет! Вот еще темы с решениями:

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

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

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

В каждой строке матрицы найти сумму элементов расположенных после первого нулевого элемента
Ввести матрицу A n*m, вывести её. В каждой строке найти сумму элементов...


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

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

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