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

Шаблон функции, принимающей обычные массивы и объекты - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Класс вектор http://www.cyberforum.ru/cpp-beginners/thread924950.html
Не могу разобраться с этим классом, прошу помощи и в объяснении(задание очень объёмное ещё), проблема с самим вектором тоже есть. Разработать класс вектор размерности n. Определить несколько конструкторов , в том числе и конструктор копирования. Реализовать методы для вычисления модуля вектора, скалярного произведения, сложения,вычитания, умножения на константу. Перегрузить операции сложения,...
C++ список (в программе обнуляются указатели на структуры) здравствуйте помогите найти ошибку, при возврате указателя на структуру из функции в функцию майн он обнуляется, это меня сбивает с толку разве указатель не сохраняет значение это же всего лишь адрес на объект вот код мною написанный #include<iostream> using namespace std; struct myst { char name; int money; http://www.cyberforum.ru/cpp-beginners/thread924942.html
C++ Определить пересекаются ли окружности и найти среди них уединенные(в истории не нашел( )
Окружности задаются координатами X,Y их центров и радиусами R. Датчик случайных чисел вырабатывает характеристики N окружностей. Определить, имеются ли среди этих окружностей три попарно пересекающихся. Найти среди этих окружностей все уединенные. Добавлено через 6 минут Или киньте плиз ссылку с такой прогой))
Пошаговая Детализация C++
Как бы я сам учу пока паскаль , но вот надо сделать задание по сишке .Буду благодарен за любую подсказку . Задание : Матрицы вещественных чисел . Поменять столбцы с максимальными элементами.
C++ Функция замены Builder 6 http://www.cyberforum.ru/cpp-beginners/thread924922.html
На практику в одном из пунктов задания (нужно написать текстовый редактор) нужно выполнить процедуру поиска и замены. Поиск я реализовал, не могли бы вы помочь с заменой? Мб у кого-то есть готовая функция замены в тексте? А то найти не могу информацию по замене. Спасибо.
C++ О чем задача? Не пойму некоторых начальных условий задачи. Особенно пунктов 40-43 с ветвлениями. Допустим А больше В, разница меньше 0 и выполняется комманда 4207 - заносится результат (А-В) в адресс 07. А дальше не пойму. Как проверить больше А или нет. Просто использовать "если"? Можно обратиться в ячейку 07 и вывести на экран - увидел что значение отрицательное и тогда, что-то исполняешь? Как найти макс... подробнее

Показать сообщение отдельно
tramp_1-3
 Аватар для tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 428
18.07.2013, 09:18     Шаблон функции, принимающей обычные массивы и объекты
Нужно чтобы функция одинаково хорошо принимала массив long и объект vector <string>, чтобы затем удалить повторяющиеся элементы, отсортировать и вернуть количество элементов в новом массиве. Как лучше всего обеспечить приём аргументов, итераторами? Программа:
Кликните здесь для просмотра всего текста
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
27
28
29
30
31
32
33
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>
#include <iterator>
 
using std :: cout;
using std :: cin;
using std :: vector;
using std :: string;
using std :: iterator;
 
template <class T>
int reduce (T * start, T * end);
 
int main () {
    long ar [6];
    cout << "Enter 6 elements of array: ";
    int i = 0;
    while ( i++ < 6 && cin >> ar [i]  )
        continue;
    cout << "Reduced array: " << reduce (ar, ar + 6) << " elements.\n";
    vector <string> sarray;
    string temp;
    cout << "Enter 6 elements of array: ";
    i = 0;
    while ( i++ < 6 && cin >> temp  )
        sarray.push_back (temp);
    cout << "Reduced array: " << reduce (sarray.begin (), sarray.end ()) << " elements.\n";
    cin.ignore (1);
    cin.get ();
    return 0;
};

Функция:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
template <class T>
int reduce (T * start, T * end) {
    std :: set <T> newarr (start, end);
    copy ( newarr.begin (), newarr.end (), std :: ostream_iterator <T, char> (cout, " ") );
    return newarr.size ();
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru