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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Montanaa
5 / 5 / 1
Регистрация: 21.03.2011
Сообщений: 79
#1

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

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

Здравствуйте.
Ребят пожалуйста решите 2 простенькие задачки, потратьте немного своего времени, очень прошу.
Заранее огромное спасибо вам!
1) Дана последовательность целых чисел. Определить, является ли сумма элементов простым числом.
2) Дана последовательность целых чисел. Вставить новый элемент после всех элементов, которые заканчиваются на заданную цифру.
Пожалуйста !
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2011, 18:19     Использование алгоритмов STL
Посмотрите здесь:

Реализация алгоритмов библиотеки STL - C++
Ребят помогите пожалуйста, как создать програмку, которая бы создавала массив 4 на 3, и заполняла его рандомом. Еще нужно потом вывести...

Примеры алгоритмов для STL map - C++
Помогите пожалуйста. Начал делать лабораторную работу. Суть задания: реализовать для map 5 алгоритмов sort, copy, none_of, find_if,...

Продемонстрировать работу алгоритмов STL copy, и max_element - C++
есть задания 1)Создайте пустой целочисленный вектор и поместите в него 10 случайных чисел с интервалом значений от -15 до 15. 2)Напишите...

Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL - C++
Сортировка слов по количеству в них букв 'А'. Сортировка списка строк с использованием стандартных алгоритмов библиотеки STL. Мне не...

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

использование stl - C++
Тема для читателей книг и учебников... Такой способ работы с векторами верен или нет (код рабочий) с точки зрения теории: #include...

Использование двух контейнеров из STL - C++
Нужно, чтобы: 1) Каждый объект имел свой уникальный ключ. 2) Быстрая выборка по ключу. 3) Быстрое прохождение по всем объектам. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
11.10.2011, 19:55     Использование алгоритмов STL #16
Цитата Сообщение от Сыроежка Посмотреть сообщение
Какие могут быть проблемы с тем, что функции передается целое число?! Не объясните?!
C++
1
2
3
double sqrt (      double x );
      float sqrt (       float x );
long double sqrt ( long double x );
Я не вижу здесь ни одного прототипа для функции, которая принимала бы целое число.
Сыроежка
Заблокирован
11.10.2011, 19:59     Использование алгоритмов STL #17
Цитата Сообщение от fasked Посмотреть сообщение
C++
1
2
3
double sqrt (      double x );
      float sqrt (       float x );
long double sqrt ( long double x );
Я не вижу здесь ни одного прототипа для функции, которая принимала бы целое число.
А разве в С++ не существует преобразований выражений?
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
11.10.2011, 20:10     Использование алгоритмов STL #18
Цитата Сообщение от Сыроежка Посмотреть сообщение
А разве в С++ не существует преобразований выражений?
Неявных? Я думаю, это зависит от конкретных опций компилятора. По стандарту уже не помню как.
Сыроежка
Заблокирован
11.10.2011, 20:12     Использование алгоритмов STL #19
Цитата Сообщение от fasked Посмотреть сообщение
Неявных? Я думаю, это зависит от конкретных опций компилятора. По стандарту уже не помню как.

Так вы можете проверить, записав std::sqrt( 9 )?
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
11.10.2011, 20:16     Использование алгоритмов STL #20
Сыроежка, мой компилятор VS2010 говорит мне на sqrt(1) - ambiguous call и std::sqrt(1) тут не помогает, потому что компилятор не может выброать, к какой из типов (float, double, long double) преобразовать неявным преобразованием
И это типичная проблема для компиляторов микрософта
Может в других и не так, но у ТС имено студия, а в ней так
Сыроежка
Заблокирован
11.10.2011, 20:18     Использование алгоритмов STL #21
Цитата Сообщение от aeshes Посмотреть сообщение
Сыроежка, мой компилятор VS2010 говорит мне на sqrt(1) - ambiguous call и std::sqrt(1) тут не помогает, потому что компилятор не может выброать, к какой из типов (float, double, long double) преобразовать неявным преобразованием
То есть он не знает, какая из выше перечисленных трех функций наиболее подходит для целого числа. Тогда ghjot использовать кастинг в стиле С: sqrt( (double ) x )
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
11.10.2011, 20:30     Использование алгоритмов STL #22
Цитата Сообщение от aeshes Посмотреть сообщение
напишите sqrt((double)x) или sqrt(x+0.0)
ну, а я что предложила?
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
11.10.2011, 20:34     Использование алгоритмов STL #23
Сыроежка, мой gcc, конечно, глотает. При чем g++ глотает вообще всегда. А для сишного кода можно сделать вот так:
C
1
2
3
4
5
6
7
#include <math.h>
#include <stdio.h>
 
int main () {
    printf("%lf\n", sqrt(9.0));
    return 0;
}
Код
fasked@k50id:/tmp/src$ gcc -lm a.c -Wtraditional-conversion
a.c: In function ‘main’:
a.c:6:2: warning: passing argument 1 of ‘sqrt’ as floating rather than integer due to prototype
Цитата Сообщение от Сыроежка Посмотреть сообщение
Тогда ghjot использовать кастинг в стиле С: sqrt( (double ) x )
Кастинг в стиле C++ тоже подойдет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2011, 22:46     Использование алгоритмов STL
Еще ссылки по теме:

Использование стандартных компонентов stl - C++
Помогите реализовать задачу с помощью stl Даны натуральное число n, действительные числа a1, ... , a2n . Вычислить (задание на снимке) я...

Использование STL в DLL-файлах - C++
Хочу использовать библиотеку STL в своем DLL-проекте. В частности для обеспечения функциональности требуется применение классов vector и...

Использование класса list STL - C++
Здравствуйте, у меня есть базовый класс и унаследованный от него. Мне надо хранить в этом одном списке либо указатели на объекты базового...

Использование list stl для вывода в файл - C++
Начинаю изучать STL. Есть задача, что нужно составить &lt;list&gt;ы из экземпляров моего класса и вывести все это в отдельный файл. Как это...

Использование указателей на контейнеры STL в заголовочных файлах - C++
Для использования указателей на I/O классы достаточно включить &lt;iosfwd&gt; который содержит опережающие объявления и таким образом появляется...


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

Или воспользуйтесь поиском по форуму:
xAtom
914 / 739 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
11.10.2011, 22:46     Использование алгоритмов STL #24
Цитата Сообщение от diagon Посмотреть сообщение
Не придумал, как решить красиво, только так
Можно обойтись только одним вектором.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <algorithm>
#include <vector>
bool is_num(int x) { return ((x%10) == 4); }
 
int main(){
   int arr[] = { 24, 122, 123, 124, 324, 4 };
   std::vector<int> vec( arr, arr + sizeof(arr)/sizeof(arr[0]));
   int n = 44444; 
 
   for(std::vector<int>::iterator i = vec.begin(); i != vec.end(); i = std::find_if(i, vec.end(), is_num)) 
       i = vec.insert(i + 1, n) + 1;
  
   std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
   std::cin.get();
   return 0;
}
Yandex
Объявления
11.10.2011, 22:46     Использование алгоритмов STL
Ответ Создать тему
Опции темы

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