7-7 词典 (15 分)

词典

你刚从滑铁卢搬到了一个大城市,这里的人们讲一种难以理解的外语方言。幸运的是,你有一本字典来帮助你理解它们。

输入格式:
输入第一行是正整数N和M,后面是N行字典条目(最多10000条),然后是M行要翻译的外语单词(最多10000个)。每一个字典条目都包含一个英语单词,后面跟着一个空格和一个外语单词。 输入中的每个单词都由最多10个小写字母组成。

输出格式:
输出翻译后的英文单词,每行一个单词。非词典中的外来词汇输出“eh”。

输入样例:

5 3
dog ogday
cat atcay
pig igpay
froot ootfray
loops oopslay
atcay
ittenkay
oopslay

输出样例:

cat
eh
loops

vector map set基础使用

#include<iostream>
#include<cstring>
#include<algorithm>
#include<map>

using namespace std;
const int N=10010;
int n,m;
map<string,string> dic;
map<string,string> ::iterator it;
int main()
{
    cin>>n>>m;
    for(int i=0;i<n;i++)
    {
        string a,b;
        cin>>a>>b;
        dic[b]=a;
    }
    for(int i=0;i<m;i++)
    {
        string x;
        cin>>x;
        if(dic[x]!="\0")
         cout<<dic[x]<<endl;
         else 
       cout<<"eh"<<endl;
    }
    return 0;
}

map 使用一般方法:

map初始化默认值为< int , string >{0"\0"}
 C++ maps是一种关联式容器,包含“关键字/值”对和python中字典差不多

 begin()         返回指向map头部的迭代器

 clear()        删除所有元素

 count()         返回指定元素出现的次数, (帮助评论区理解: 因为key值不会重复,所以只能是1 or 0)

 empty()         如果map为空则返回true

 end()           返回指向map末尾的迭代器

 equal_range()   返回特殊条目的迭代器对

 erase()         删除一个元素

 find()          查找一个元素

 get_allocator() 返回map的配置器

 insert()        插入元素

 key_comp()      返回比较元素key的函数

 lower_bound()   返回键值>=给定元素的第一个位置

 max_size()      返回可以容纳的最大元素个数

 rbegin()        返回一个指向map尾部的逆向迭代器

 rend()          返回一个指向map头部的逆向迭代器

 size()          返回map中元素的个数

 swap()           交换两个map

 upper_bound()    返回键值>给定元素的第一个位置

 value_comp()     返回比较元素value的函数
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课 程 设 计 报 告 课程设计名称 Java语言程序设计 专 业 信息管理与信息系统 目录 一、设计析………………………………………………1 二、数据流程图 ………………………………………… 1 三、操作方法及试验结果…………………………………2 1、菜单窗口 …………………………………………2 2、查询 ………………………………………………2 3、添加 ………………………………………………3 4、修改 ………………………………………………3 5、删除 ………………………………………………4 6、帮助 ………………………………………………4 设计体会……………………………………………5 一、设计汉电子词典作为一个常用的学习工具,系统应该能完成词典的功能。该系统主要用于 实现汉互译和编辑词典的信息的功能,系统拥有自己的数据库。 二、数据流程图 (用以各功能之间的关系) 三、操作方法及试验结果 此窗口为菜单窗口,用户可在此窗口内选择应用的内容。其文件目录包括:汉词 典,汉词典,备份文库。编辑目录包括:添加,修改,删除。 用户可在窗口内输入要查询的单词或文意思,输入完毕后点击查询将出现次单词的解 释或文对应的单词。如输入的单词不存在词库,则显示查无此单词。 (3)若用户需要在词库添加新的单词,则选择单词的添加。用户可输入想要添加的单 词及其解释。单击确定后,次单词保存在词库。 用户想要修改词库已存在的单词,可选择单词的修改。用户可对该单词及其解释进行 修改。修改并保存后单击确定,系统将提示用户记录修改成功。 (5)想要删除词库已存在的单词,可选择单词的删除。输入想要删除的单词,点击确 定后,此单词及其解释一并删除。删除后,系统提示用户单词删除成功,若没有找到要 删除的单词,系统提示用户不存在此单词。 (6)用户可点击帮助来更好的了解电子词典的功能及其用法。 设计体会 经过这次不到两周的课程设计真的让我们感触颇多啊!首先,知识方面,经过大二上 学期一学期的学习,让我们对java的基础知识和操作环境和平台有了初步的了解和认识 ,但是这次设计还是遇到了很多问题,尤其是数据库的创建和连接部,由于以前接 触这部知识比较少,这次用到时感觉很陌生,我们在图书馆查阅了很多资料,并上网 查询一些相关资料,功夫不负有心人,最后大家的努力终于看到了成果,这次成功不仅 让我们的课程设计得以成功,更重要的是掌握了更多以前不熟悉的知识,为以后的学习 和实践打下基础。 然后,操作过程,在这次课程设计的开始就有机会自己下载和安装jdk和eclipse进一 步熟悉java的操作平台,并且在项目的建设和代码的导入以及运行和改错的过程进一 步了解和巩固了基础的知识,运行和改错对我们而言也是学习与复习的好机会,是它们 使我学会了如何自学、如何查阅资料等,让我学习了很多,也让我对知识点有了更深的 理解。 最后,通过这次课程设计让我深刻体会到合作的重要性,众人划桨开大船,大家工合 作,查阅资料,讨论纠错,程序的编写运行才得以顺利实现,更重要的是大家在讨论和 沟通学到了更多的知识,共同进步。同时,这个过程也让我们发现了自己相关知识的 不足,在以后的学习实践,我们会通过各种方式提高自己相关方面的知识,为以后的 学习和实践打下基础。 ----------------------- java课程设计---汉电子词典全文共7页,当前为第1页。 java课程设计---汉电子词典全文共7页,当前为第2页。 开始 显示菜单 输入选项 显示无法找到 显示删除成功 显示无法找到 显示修改成功 输入单词 输入删除的单词 输入修改的单词 显示查询选项 输入文 输入显示信息 判断 循环体 查询 判断 循环体 查询 判断 判断 输入文单词 输入文意思 判断 判断 循环体 循环体 计算 计算 判断 判断 显示无法找到 显示无法找到 显示查找信息 显示查找信息 结束 java课程设计---汉电子词典全文共7页,当前为第3页。 java课程设计---汉电子词典全文共7页,当前为第4页。 java课程设计---汉电子词典全文共7页,当前为第5页。 java课程设计---汉电子词典全文共7页,当前为第6页。 java课程设计---汉电子词典全文共7页,当前为第7页。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值