Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ STL http://www.cyberforum.ru/cpp-beginners/thread364754.html
Здравствуйте. Ребят пожалуйста решите 2 простенькие задачки, потратьте немного своего времени, очень прошу. Заранее огромное спасибо вам! 1) Дана последовательность целых чисел. Определить, является ли сумма элементов простым числом. 2) Дана последовательность целых чисел. Вставить новый элемент после всех элементов, которые заканчиваются на заданную цифру. Пожалуйста !
C++ Вычислить сумму ряда с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. 9. Вычислить сумму ряда (-1)в степени 3n/3n! с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. Добавлено через 4 минуты И пожалуйсто на уровне 3-го курса колледжа Добавлено через 32 секунды \frac{{(-1)}^{3n}}{3n!} 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() { int n;
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', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; int main() { подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
11.10.2011, 18:31     Использование алгоритмов STL
Непонятно, на кой здесь 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/5c9c4d...975d7cef76a6fa

Добавлено через 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/d0fc86...24f95d55fa7381
 
Текущее время: 21:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru