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

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

Войти
Регистрация
Восстановить пароль
 
TaYloR
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 38
#1

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

09.10.2012, 21:32. Просмотров 387. Ответов 4
Метки нет (Все метки)

Здраствуйте. Написал такую программку:
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
34
35
36
37
38
39
40
#include<vector.h>
#include<iterator.h>
#include<conio.h>
#include<iostream.h>
 
template <typename T>
bool palindrome(const vector &a);
 
int main(){
const int size= 5;
int array1[size] = {1, 2, 3, 2, 1};
int array2[size] = {1, 2, 3, 4, 5};
vector<int> vector1(array1, array1+size);
vector<int> vector2(array2, array2+size);
ostream_iterator output(cout, " ");
 
cout<<"Vector1 contains:\n";
copy(vector1.begin(), vector1.end(), output);
cout<<"\nVector2 contains:\n";
copy(vector1.begin(), vector1.end(), output);
 
cout<<"\nVector1 "<<(palindrome(vector1) ? "is" : "is not")<<" palindrome\n";
cout<<"\nVector2 "<<(palindrome(vector2) ? "is" : "is not")<<" palindrome\n";
 
getch();
return 0;
}
 
template <typename T>
bool palindrome(const vector &a){
        typename vector<T>::const_iterator first = a.begin();;
        typename vector<T>::const_iterator second = a.end()-1;
        while (first!>=second){
                if (*first!=*second)
                        return false;
                first++;
                second--;
                }
        return true;
}
Выдаёт ошибку [C++ Error] Unit1.cpp(7): E2102 Cannot use template 'vector<_Tp,_Alloc>' without specifying specialization parameters.

Подскажите, в чём дело? писал по учебнику
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2012, 21:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Использование вектора (C++):

Использование вектора векторов - C++
Нужно хранить символы в координатах, например, на пятой строчке, третьей позиции хранится символ &quot;G&quot;. Но количество координат может...

Вектора. Их инициализация и использование в ветвлениях - C++
Добрый вечер. Подскажите, как можно решить 2 появившиеся проблемы 1)Строка 10 &quot;vector &lt;char&gt; a(n, &quot;I&quot;);&quot;. Инициализация символьного...

Использование вектора для работы с матрицей - C++
Здравствуйте! Предположим, что задание состоит в том, чтобы определить в матрице столбцы, содержащие только положительные элементы, и...

Безопасное использование вектора в двух потоках - C++
Это продолжение этой темы , но уже немного другая проблема. Работаю с классом , который создаёт объекты через shared_ptr и заносит их в...

Найти сколько элементов первого вектора совпадают с элементами второго вектора - C++
#include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;vector&gt; #include &lt;set&gt; using namespace std; void main() { ...

Дан список, элементы которого являются координатами вектора. Найти длину вектора - C++
1. Дан список, элементы которого являются координатами вектора в n-мерном пространстве. Найти длину вектора.

4
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
09.10.2012, 21:58 #2
Пробуйте:
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
34
35
36
37
template <typename T>
bool palindrome(const T &a);
 
int main()
{
    const int size= 5;
    int array1[size] = {1, 2, 3, 2, 1};
    int array2[size] = {1, 2, 3, 4, 5};
    vector<int> vector1(array1, array1+size);
    vector<int> vector2(array2, array2+size);
    ostream_iterator<int> output(cout, " ");
 
    cout<<"Vector1 contains:\n";
    copy(vector1.begin(), vector1.end(), output);
    cout<<"\nVector2 contains:\n";
    copy(vector2.begin(), vector2.end(), output);
 
    cout<<endl;
    cout<<"\nVector1 "<<(palindrome(vector1) ? "is" : "is not")<<" palindrome\n";
    cout<<"\nVector2 "<<(palindrome(vector2) ? "is" : "is not")<<" palindrome\n";
    cout<<endl;
    system("pause");
    return 0;
}
 
template <typename T>
bool palindrome(const T &a){
    auto first = a.begin();;
    auto second = a.end()-1;
    while (first!=second){
        if (*first!=*second)
            return false;
        first++;
        second--;
    }
    return true;
}
1
TaYloR
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 38
09.10.2012, 22:22  [ТС] #3
Выдаёт такое:
[Linker Error] Unresolved external 'bool palindrome<_STL::vector<int, _STL::allocator<int> > >(const _STL::vector<int, _STL::allocator<int> >&)' referenced from E:\C++\DEITEL\22.12\UNIT1.OBJ

Добавлено через 14 минут
проблема решена: нужно было писать
bool palindrome(const vector<T> &a);
0
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
09.10.2012, 22:23 #4
Ну не знаю, у меня работает. Вы точно весь мой код подставили? Кстати, у меня инклуды такие только подключены (без расширений h):
C++
1
2
3
#include <iostream>
#include <vector>
#include <iterator>
0
TaYloR
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 38
09.10.2012, 22:45  [ТС] #5
Да всё. Но я уже нашёл, что было не так в моём коде. Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2012, 22:45
Привет! Вот еще темы с ответами:

Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5) - C++
Ребята помогите пожалуйста с задачкой. Я сам не шарю в C++, но в этом семестре появился этот предмет! И завтра его надо будет сдать :( Буду...

Ошибка с итераторами для целочисленного вектора и вектора структуры - C++
Пытаюсь разобраться с векторами. Для динамической работы с памятью вещь, вроде, замечательная и удобная. Только необходимо использовать...

STL. Функция, которая будет искать элементы большее среднего арифметического вектора и удалять их из вектора - C++
у меня есть вектор, помогите пожалуйста дописать функцию, которая будет искать элементы большее среднего арифметического вектора и удалять...

Составить главную программу и функцию. Для данного вектора А(М) найти количество неповторяющихся элементов вектора - C++
Здравствуйте. Буду очень благодарен,если кто нибудь напишет два кода к этим задачам. Спасибо за внимание. Задача 1. Составить...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
09.10.2012, 22:45
Ответ Создать тему
Опции темы

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