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

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

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

последовательность - C++

15.05.2012, 00:14. Просмотров 311. Ответов 5
Метки нет (Все метки)

Даны n, последовательность n x , x ,...x 1 2 . Получить (1+R)/(1+S), где R – сумма тех членов
последовательности, которые не превосходят 1, а S – сумма членов, больших 1. Использовать динамические
массивы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2012, 00:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос последовательность (C++):

Задана последовательность слов. Определить частоту вхождения каждого слова в последовательность. - C++
Доделать программу, чтобы работала как надо Задана последовательность слов. Определить частоту вхождения каждого слова в...

Вводится последовательность из N вещественных чисел. Определить, является ли последовательность знакочередующе - C++
Вводится последовательность из N вещественных чисел. Определить, является ли последовательность знакочередующейся. не пойму как сделать,...

Массив: Вставить в последовательность действительное число b так, чтобы последовательность осталась неубывающей. - C++
дана последовательность действительных чисел. вставить в нее действительное число b так, чтобы последовательность осталась неубывающей. ...

Если последовательность отсортирована по возрастанию, оставить ее без изменения. Иначе получить иную последовательность - C++
Дана последовательность действительных чисел X1,X2,X3,…,Xn (n>2, заранее неизвестно). Если последовательность отсортирована по возрастанию,...

Дана последовательность, элементы которой есть целые двузначные числа. Упорядочить последовательность по убыванию произведений цифр - C++
Здравствуйте. На форуме есть код подобный, но по возрастанию сумм элементов. Как мне подправить код, чтобы было "по убыванию произведений...

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

5
MrGluck
Модератор
Эксперт CЭксперт С++
7496 / 4611 / 694
Регистрация: 29.11.2010
Сообщений: 12,621
15.05.2012, 00:54 #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
#include <iostream>
#include <algorithm>
#include <iterator>
 
int main()
{
    const int n = 10;
    int arr[n] = {-5, 2, 5, -1, 4, 2, 4, 0, -1, 10}, Rn, Sn, *R, *S;
    std::copy(arr, arr + n, std::ostream_iterator<int>(std::cout, " ")); 
    Rn = std::count_if(arr, arr + n, [](const int value) {return value <=1; } );
    Sn = n - Rn;
    R = new int[Rn]; 
    S = new int[Sn];
    Rn = Sn = 0; 
    std::for_each(arr, arr + n, [R, &Rn, S, &Sn](const int value) 
        {if (value <=1) R[Rn++] = value; else S[Sn++] = value; } );
    std::cout<< std::endl;
    std::copy(R, R + Rn, std::ostream_iterator<int>(std::cout, " "));  
    std::cout<< std::endl;
    std::copy(S, S + Sn, std::ostream_iterator<int>(std::cout, " "));  
    std::cout<< std::endl<< "(1 + R)/(1 + S) = "
             << (double) (1 + std::accumulate(R, R + Rn, 0) ) / (1 + std::accumulate(S, S + Sn, 0) );
    delete []R;
    delete []S; 
    return 0;
}
0
e73t4ph
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 34
15.05.2012, 01:09  [ТС] #3
компилятор ругается на строчку

Rn = std::count_if(arr, arr + n, [](const int value) {return value <=1; } );
0
MrGluck
Модератор
Эксперт CЭксперт С++
7496 / 4611 / 694
Регистрация: 29.11.2010
Сообщений: 12,621
15.05.2012, 01:13 #4
http://liveworkspace.org/code/b85af7d23e22daea44126f9ee57755c6
0
e73t4ph
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 34
15.05.2012, 17:05  [ТС] #5
std::copy
std::ostream_iterator
std::accumulate

и по сути что такое std:: ?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7496 / 4611 / 694
Регистрация: 29.11.2010
Сообщений: 12,621
15.05.2012, 19:02 #6
Цитата Сообщение от e73t4ph Посмотреть сообщение
std::copy
std::ostream_iterator
std::accumulate

и по сути что такое std:: ?
std::copy копирует последовательность http://www.cplusplus.com/reference/algorithm/copy/
std::ostream_iterator итератор для вывода в поток http://www.cplusplus.com/reference/std/iterator/ostream_iterator/
std::accumulate подсчитывает сумму элементов последовательности (в данном примере, вообще, он более функционален) http://www.cplusplus.com/reference/std/numeric/accumulate/

std - пространство имен функций
std:: - область видимости функции
0
15.05.2012, 19:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2012, 19:02
Привет! Вот еще темы с ответами:

Вводить последовательность вещественных чисел, пока следующее вводимое число не окажется меньше предыдущего. Вывести полученую последовательность. - C++
Вводить последовательность вещественных чисел, пока следующее вводимое число не окажется меньше предыдущего. Вывести полученую...

Вводится последовательность целых чисел,0 –конец последовательности. Определить, содержит ли последовательность хотя бы три отрицательных четных числа - C++
Составить алгоритм решения задачи и написать программу на языке С++. В алгоритме и программе массивов не использовать. ...

Преобразовать литерную последовательность в другую литерную последовательность всеми описанными ниже способами - C++
Здравствуйте, уже несколько дней мучаюсь над такой задачей : &quot;Имеется литерная последовательность, состоящая из не более чем 30 ...

Последовательность - C++
Ввести цедые числа а1, а2,.....аN. Если в последовательности ни одно четное число не расположено после нечетного, то получить все...


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

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

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