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




Словарь


Вот небольшая программа, иллюстрирующая построение отображения, поиск в нем и обход элементов. Здесь используются два отображения. Первое, необходимое для преобразования слов, содержит два элемента типа string. Ключом является слово, которое нуждается в специальной обработке, а значением– слово, заменяющее ключ. Для простоты мы задали пары ключ/значение непосредственно в тексте программы (вы можете модифицировать программу так, чтобы она читала их из стандартного ввода или из файла). Второе отображение используется для подсчета произведенных замен. Текст программы выглядит следующим образом:

#include <map>

#include <vector>

#include <iostream>

#include <string>

int main()

{

  map< string, string > trans_map;

  typedef map< string, string >::value_type valType;

  // первое упрощение:

  // жестко заданный словарь

  trans_map.insert( va1Type( "gratz", "grateful" ));

  trans_map.insert( va1Type( "'em",   "them"     ));

  trans_map.insert( va1Type( "cuz",   "because"  ));

  trans_map.insert( va1Type( "nah",   "no"       ));

  trans_map.insert( va1Type( "sez",   "says"     ));

  trans_map.insert( va1Type( "tanx",  "thanks"   ));

  trans_map.insert( va1Type( "wuz",   "was"      ));

  trans_map.insert( va1Type( "pos",   "suppose"  ));

  // напечатаем словарь

  map< string,string >::iterator it;

  cout << "Наш словарь подстановок: \n\n";

  for ( it = trans_map.begin();

          it != trans_map.end(); ++it )

      cout << "ключ: "   << (*it).first << "\t"

           << "значение: " << ("it).second << "\n";

  cout << "\n\n";

  // второе упрощение: жестко заданный текст

  string textarray[14]={ "nah", "I", "sez", "tanx",




Содержание  Назад  Вперед