Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ STL http://www.cyberforum.ru/cpp-beginners/thread364754.html
Здравствуйте. Ребят пожалуйста решите 2 простенькие задачки, потратьте немного своего времени, очень прошу. Заранее огромное спасибо вам! 1) Дана последовательность целых чисел. Определить,...
Вычислить сумму ряда с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. C++
9. Вычислить сумму ряда (-1)в степени 3n/3n! с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. Добавлено через 4 минуты И пожалуйсто на уровне 3-го курса колледжа ...
Cоседи элемента целочисленной матрицы C++
помогите написать прогу в С++: использовать динамический массив. При необходимости заполнения массива предусмотреть два способа: ввод с клавиатуры и заполнение с помощью датчика случайных чисел. В...
C++ Неправильно считается десятичный логарифм не верно считается десятичный логарифм(z), почему? заранее спс #include <iostream> #include <conio.h> #include <math.h> using namespace std; extern float pow ( float, int ); int main() { ... http://www.cyberforum.ru/cpp-beginners/thread364741.html
C++ Найти произведение ряда http://www.cyberforum.ru/cpp-beginners/thread364733.html
это нужно моему другу,он скоро сдает инфу,и ему задали вот эти номера сделать. а я сам не шарю в программировании...напишите плз если не сложно. большое спс=)
C++ Шифр Цезаря: программа выводит не то, что нужно
Пытался реализовать код цезаря на С++ #include <iostream> using namespace std; const char alphavit={'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',...
Вычислить значение выражения C++
Дано натуральное число n и действительное x. Вычеслить sin x * sin x^2 * sin x^3 *...*sin x^n Если не трудно )
C++ последовательность добрый день. меня зовут илья. я почти ничего не смыслю в программировании. надеюсь на вашу помощь. мне нужна программа, которая находит в последовательности чисел длину самой большой возрастающей... http://www.cyberforum.ru/cpp-beginners/thread364702.html
C++ Немогу найти ошибку в задаче( http://www.cyberforum.ru/cpp-beginners/thread364697.html
Дана задача: вылислить (b*cos(b^4+modul(z^1/3))+sin^2(a+b-c)*pi^4)/(cos(z)+modul(ctg(c))) #include "stdio.h" #include "math.h" #include <iostream> int main(void) { double a=100; double...
C++ проблема с оператором условия #include <iostream.h> #include <math.h> #include <iomanip.h> #include <conio.h> void main() { int i, n=10, a, min,max; for (i=1; i<=n; i++) { cout << "Vvedite " << i << " element:"; http://www.cyberforum.ru/cpp-beginners/thread364696.html
diagon
Higher
1942 / 1208 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
11.10.2011, 18:31 0

Использование алгоритмов STL

11.10.2011, 18:31. Просмотров 2159. Ответов 23
Метки (Все метки)

Ответ

Непонятно, на кой здесь STL, но можно как-то так
1)
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
 
bool isPrime( int x )
{
    for (int i = 2, sq = sqrt(x); i <= sq; ++i)
        if ( x % i == 0 )
            return false;
    return true;
}
 
int main()
{
    int arr[] = { 1, 2, 3, 5 };
    std::vector<int> vec( arr, arr + sizeof(arr) / sizeof(*arr) );
    int sum = 0;
    std::for_each( vec.begin(), vec.end(), [&sum] ( int x )
    {
        sum += x;
    } );
    
    std::cout << std::boolalpha << isPrime(sum);
}
результат: http://liveworkspace.org/code/5c9c4db29782a66aa2975d7cef76a6fa

Добавлено через 2 минуты
Цитата Сообщение от Montanaa Посмотреть сообщение
в STL вроде как алгоритмы для этого есть, или нет?
библиотека numeric
Кстати да, тогда можно так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <numeric>
 
bool isPrime( int x )
{
    for (int i = 2, sq = sqrt(x); i <= sq; ++i)
        if ( x % i == 0 )
            return false;
    return true;
}
 
int main()
{
    int arr[] = { 1, 2, 3, 5 };
    std::vector<int> vec( arr, arr + sizeof(arr) / sizeof(*arr) );
    
    std::cout << std::boolalpha << isPrime(std::accumulate( vec.begin(), vec.end(), int() ) );
}
Результат: http://liveworkspace.org/code/d0fc864001edbcda3924f95d55fa7381

Вернуться к обсуждению:
Использование алгоритмов STL
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2011, 18:31

Как скопировать массив в вектор одной строкой без использования циклов и алгоритмов STL?
Уважаемые формучане, не подскажете, как скопировать массив в вектор одной строкой без использования...

Использование STL - C++
Из списков s1 и s2 удалить все элементы с одинаковым содержимым. #include &lt;iostream&gt; #include...

Использование STL
Реализуйте задание с использованием контейнеров и алгоритмов библиотеки STL согласно своему...

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