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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ STL http://www.cyberforum.ru/cpp-beginners/thread364754.html
Здравствуйте. Ребят пожалуйста решите 2 простенькие задачки, потратьте немного своего времени, очень прошу. Заранее огромное спасибо вам! 1) Дана последовательность целых чисел. Определить,...
C++ Вычислить сумму ряда с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. 9. Вычислить сумму ряда (-1)в степени 3n/3n! с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. Добавлено через 4 минуты И пожалуйсто на уровне 3-го курса колледжа ... http://www.cyberforum.ru/cpp-beginners/thread364753.html
Cоседи элемента целочисленной матрицы C++
помогите написать прогу в С++: использовать динамический массив. При необходимости заполнения массива предусмотреть два способа: ввод с клавиатуры и заполнение с помощью датчика случайных чисел. В...
Неправильно считается десятичный логарифм C++
не верно считается десятичный логарифм(z), почему? заранее спс #include <iostream> #include <conio.h> #include <math.h> using namespace std; extern float pow ( float, int ); int main() { ...
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',... подробнее

Показать сообщение отдельно
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
11.10.2011, 18:31
Непонятно, на кой здесь 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
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru