Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 16
1

Найти сумму всех идущих подряд нечётных, находящихся в начале заданной последовательности

16.02.2017, 15:19. Просмотров 2022. Ответов 14
Метки нет (Все метки)

Как реализовать данный алгоритм?
0
Миниатюры
Найти сумму всех идущих подряд нечётных, находящихся в начале заданной последовательности  
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2017, 15:19
Ответы с готовыми решениями:

Найти сумму всех идущих подряд в начале последовательности нечетных чисел (нужны комментарии)
Условие задачи звучит так: Дана последовательность из п вещественных чисел Первое число в...

Дана последовательность из N вещественных чисел. Первое число в последовательности нечетное. Найти сумму всех идущих подряд в начале последовательност
Дана последовательность из N вещественных чисел. Первое число в последовательности нечетное. Найти...

Найти сумму всех идущих подряд в начале последовательности нечетных чисел
Дана последовательность из n вещественных чисел. Первое число в последовательности нечетное....

Найти сумму всех идущих подряд в начале последовательности нечетных чисел
Дана последовательность из n вещественных чисел. Первое число в последовательности нечетное. Найти...

14
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
16.02.2017, 15:26 2
Что за бред? Понятие чётности относится к целым числам.
0
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 16
16.02.2017, 15:28  [ТС] 3
Согласен, пусть будут целые числа.
0
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
16.02.2017, 15:31 4
C++
1
2
3
4
5
6
7
8
9
10
#include <algorithm>
#include <iostream>
#include <iterator>
#include <numeric>
 
int main()
{
    constexpr int arr[] = { 3, 5, 7, 9, 2, 0, 1 };
    std::cout << std::accumulate(std::cbegin(arr), std::find_if_not(std::cbegin(arr), std::cend(arr), [](const int x) { return x & 1; }), 0);
}
0
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 16
16.02.2017, 15:33  [ТС] 5
MrGluck, а возможно решить без массивов?
0
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
16.02.2017, 15:35 6
Pipo, там по условию уже дана последовательность. Вы предлагаете считывать с клавиатуры пока не будет введено чётное число?
0
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 16
16.02.2017, 15:38  [ТС] 7
MrGluck, вроде бы, нужно ввести с клавиатуры n целых чисел и затем вывести сумму идущих подряд нечётных. Причем ввести первое нечетное.
0
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
16.02.2017, 15:44 8
Лучший ответ Сообщение было отмечено Pipo как решение

Решение

Цитата Сообщение от Pipo Посмотреть сообщение
вроде бы, нужно ввести с клавиатуры n целых чисел и затем вывести сумму идущих подряд нечётных.
Учитывая, что в задании говорится про нечётные числа в начале последовательности, то не понятно, зачем нужно продолжать ввод после чётного числа?

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    constexpr int N = 10;
    int sum = 0;
    for (int x, i = 0; i < N && std::cin >> x && x & 1; i++)
        sum += x;
    std::cout << sum;
}
0
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 16
16.02.2017, 15:45  [ТС] 9
MrGluck, Но нужно же ввести эти n чисел. А затем посчитать сумму идущих в начале подряд нечётных.
0
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
16.02.2017, 15:54 10
Цитата Сообщение от Pipo Посмотреть сообщение
Но нужно же ввести эти n чисел. А затем посчитать сумму идущих в начале подряд нечётных.
Вот ваш бред:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int main()
{
    constexpr int N = 10;
    int sum = 0;
    bool flag = true;
    for (int x, i = 0; i < N && std::cin >> x; i++)
    {
        if (!(x & 1))
            flag = false;
        if (flag)
            sum += x;
    }
    std::cout << sum;
}
0
Модератор
Эксперт CЭксперт С++
5032 / 2214 / 330
Регистрация: 20.02.2013
Сообщений: 5,600
Записей в блоге: 24
16.02.2017, 15:55 11
 Комментарий модератора 
Pipo,пожалуйста, прочитайте правила форума.
Особое внимание обратите на следующие пункты:Условие задачи перепечатайте непосредственно в тело сообщения.

.
0
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 16
16.02.2017, 15:56  [ТС] 12
MrGluck, Нужно бы без операторов условных. Но спасибо за помощь!)
0
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
16.02.2017, 16:41 13
Pipo, так тут в любом случае нужна проверка т.к. числа могут быть и чётными.
0
0 / 0 / 0
Регистрация: 16.02.2017
Сообщений: 16
16.02.2017, 16:42  [ТС] 14
MrGluck, Вот решение на Паскале))
Pascal
1
2
3
4
5
6
7
8
9
10
11
var a, n, i, s: integer;
begin
  s := 0;
  readln(n);
  for i := 1 to n do
  begin
    readln(a);
    s := s + a * (a mod 2);
  end;
  writeln('Сумма нечётных чисел равна ', s);
end.
0
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
16.02.2017, 16:50 15
Цитата Сообщение от Pipo Посмотреть сообщение
Вот решение на Паскале))
У вас считаются все нечётные числа, а в задании говорится про первую последовательность.

Добавлено через 2 минуты
Вот без явного использования оператора if
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{
    constexpr int N = 10;
    int sum = 0;
    bool flag = true;
    for (int x, i = 0; i < N && std::cin >> x; i++)
    {
        flag &= (x & 1);
        sum += x * flag;
    }
    std::cout << sum;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2017, 16:50

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти сумму всех идущих подряд в начале последовательности нечетных чисел
Дана последовательность из п вещественных чисел. Первое число в последовательности не-четное....

Найти сумму всех идущих подряд в начале вектора нечетных чисел
Дан вектор из вещественных чисел. Первое число в векторе нечетное. Найти сумму всех идущих подряд в...

Найти сумму всех идущих подряд в начале последовательности четных чисел
Задачку нужно решить через while Я набросал код, но у меня складываются все четные числа, а нужно,...

Найти среднее арифметическое всех, идущих подряд в начале последовательности четных чисел
Дана последовательность из n вещественных чисел. первое число в последовательности четное. Найти...


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

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

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