Я хочу сделать программу словаря, и мой словарь реализован с парами. Я хочу найти в моем массиве термин и возвратить описание всего этого с помощью функции stl. Я сделал это:stl пары и двоичный поиск
#include<iostream>
#include<fstream>
#include<algorithm>
#include<string.h>
using namespace std;
bool compare(pair<string,string>a,pair<string,string>b) {
return a.first<b.first;
}
int main() {
pair<string,string> a[100]=pair<string,string>();
int dimension=0;
ifstream f("dictionar.in");
string name,description;
while(f>>name) {
getline(f,description);
a[dimension]=make_pair(name,description);
dimension++;
}
for(int i=0;i<dimension;i++)
cout<<a[i].first<<" "<<a[i].second<<endl;
sort(a,a+dimension,compare);
cout<<endl;
for(int i=0;i<dimension;i++)
cout<<a[i].first<<" "<<a[i].second<<endl;
string searchelem;
cin>>searchelem;
}
Я хочу использовать «searchelement», чтобы найти, если в массиве пары есть элемент, равный с searchelement, и если есть вернуть индекс. Какую функцию я должен использовать?
Используйте 'std :: map'. Он был разработан для использования в словарях. В 'std :: map' также используется' std :: pair'. –
Ради Бога используйте 'typedef' – Slava
@Slava Для $ DEITY, используйте' using';) –