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

Разделить сумму членов последовательности не превосходящих 1 на сумму превосходящих - C++

29.06.2016, 23:01. Просмотров 291. Ответов 11
Метки нет (Все метки)

Даны натуральное число n и действительные числа x1,x2,x3,...,Xn. Получить (1+r)/(1+s), где r- сумма тех членов заданной последовательности, которые не превосходят 1, а s - сумма членов, больших 1. Помогите составить программу, или хотя бы часть с заданием действительных чисел...
http://www.cyberforum.ru/cpp-beginners/thread761396.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2016, 23:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Разделить сумму членов последовательности не превосходящих 1 на сумму превосходящих (C++):

Необходимо найти сумму всех чисел в последовательности Фибоначчи, не превосходящих введенного числа n
Последовательность Фибоначчи формируется следующим образом: первый и второй...

Вывести сумму всех четных чисел не превосходящих заданное число
Дано n значное число типа longint. 1.Число спросить у пользователя и...

Рекурсивно вычислить сумму квадратов тех чисел, не превосходящих двух
Пусть {a}_{0}={cos(1)}^{2}; {a}_{1}={-sin(1)}^{2};...

Найти сумму положительных и сумму нечетных членов последовательности. Вывести ту сумму, которая по модулю меньше
вот задачка одна не понял как вывевсти оттуда отрицательные... Программа...

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

11
Banonanelly
89 / 21 / 35
Регистрация: 29.06.2016
Сообщений: 96
29.06.2016, 23:12 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const size_t n = 10;
double a[n];
 
// заполнение массива
 
double r = 0;
for (int i = 0; i < n; ++i)
{
    if (a[i] <= 1) r += a[i];
}
 
double s = 0;
for (int i = 0; i < n; ++i)
{
    if (a[i] > 1) r += a[i];
}
 
double res = (1 + r) / (1 + s);
0
Ghstdmgd
0 / 0 / 0
Регистрация: 21.06.2016
Сообщений: 15
29.06.2016, 23:32  [ТС] #3
А варианта без использования массивов нет?
0
Banonanelly
89 / 21 / 35
Регистрация: 29.06.2016
Сообщений: 96
29.06.2016, 23:35 #4
Цитата Сообщение от Ghstdmgd Посмотреть сообщение
А варианта без использования массивов нет?
Последовательность обычно подразумевает массив.
0
Ghstdmgd
0 / 0 / 0
Регистрация: 21.06.2016
Сообщений: 15
29.06.2016, 23:41  [ТС] #5
А варианта без использования массивов нет?
Цитата Сообщение от Banonanelly Посмотреть сообщение
Последовательность обычно подразумевает массив.
В этом и проблема, в задании указано не использовать массивы. По этому я собственно и в тупике.
0
imm
9 / 9 / 3
Регистрация: 25.10.2013
Сообщений: 125
Завершенные тесты: 2
29.06.2016, 23:49 #6
В смысле, вообще контейнеры нельзя или именно массивы?
0
Ghstdmgd
0 / 0 / 0
Регистрация: 21.06.2016
Сообщений: 15
29.06.2016, 23:50  [ТС] #7
Только массивы
0
Banonanelly
89 / 21 / 35
Регистрация: 29.06.2016
Сообщений: 96
29.06.2016, 23:59 #8
Лучший ответ Сообщение было отмечено Ghstdmgd как решение

Решение

Цитата Сообщение от Ghstdmgd Посмотреть сообщение
Только массивы
Тогда используйте контейнеры.
Например vector
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <vector>
 
size_t n = 10;
std::vector<double> a(n);
 
// заполнение вектора
// ...
 
double r = 0;
double s = 0;
for (std::vector<double>::const_iterator it = v.cbegin(); it != a.cend(); ++it) 
{
    if (*it <= 1) r += *it;
    else s += *it;
}
 
double res = (1 + r) / (1 + s);
0
imm
9 / 9 / 3
Регистрация: 25.10.2013
Сообщений: 125
Завершенные тесты: 2
30.06.2016, 00:02 #9
Да, как-раз писал этот код
0
avgoor
1007 / 601 / 156
Регистрация: 05.12.2015
Сообщений: 1,686
30.06.2016, 01:43 #10
Цитата Сообщение от Banonanelly Посмотреть сообщение
Последовательность обычно подразумевает массив.
Цитата Сообщение от Banonanelly Посмотреть сообщение
Тогда используйте контейнеры.
Например vector
Ага, для того чтобы посчитать сумму членов последовательности просто необходимо всю ее хранить в памяти. Если в цикле считывать в одну и ту же переменую и суммировать, храня только сумму (в данном случае две) - случится конец света.
0
Ghstdmgd
0 / 0 / 0
Регистрация: 21.06.2016
Сообщений: 15
30.06.2016, 08:10  [ТС] #11
Цитата Сообщение от avgoor Посмотреть сообщение
Ага, для того чтобы посчитать сумму членов последовательности просто необходимо всю ее хранить в памяти. Если в цикле считывать в одну и ту же переменую и суммировать, храня только сумму (в данном случае две) - случится конец света.
А если например ввести N а потом через For вручную ввести N значений x?
0
avgoor
1007 / 601 / 156
Регистрация: 05.12.2015
Сообщений: 1,686
30.06.2016, 11:34 #12
Лучший ответ Сообщение было отмечено Ghstdmgd как решение

Решение

Ghstdmgd,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int n;
std::cin >> n;
 
double r=0.0, s=0.0;
for (int i=0; i<n; i++) 
{
    double dtmp;
    std::cin >> dtmp;
    if (dtmp <= 1.0)
        r += dtmp;
    else
        s += dtmp;
} 
 
std::cout << (1.0 + r) / (1.0 + s) << std::endl;
0
30.06.2016, 11:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2016, 11:34
Привет! Вот еще темы с решениями:

Вычислить отдельно сумму четных и сумму нечетных членов последовательности
Добрый день! Только начал изучать этот язык и пытаюсь решить две задачи. Увы, с...

Получить число отрицательных членов последовательности и сумму нулевых членов последовательности
Помогите решить, данные задачки: 1. Даны целые числа a1,..., a15. Получить...

Найти количество элементов матрицы, не превосходящих по модулю 5; найти сумму нечётных элементов 3-й строки
Дан двумерный массив целых чисел (5 строк, 4 столбца). Заполните его с...

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


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

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

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