西南科技大学C++程序设计实验十一(泛型程序设计与C++标准模板库)

一、实验目的

1. 掌握泛型程序设计概念;

2. 掌握vector、deque、list容器使用方法;

3.了解set、map容器使用方法。

二、实验任务

1.分析完善以下程序,理解vector容器使用方法:

#include <iostream>

__#include <vector>_______ //补充vector模板头文件

using namespace std;

void main()

{

 vector<int> a(10,1); //初始化容器,开辟10个单位空间·元素初始化为1

 int i;

cout << "初始化变量" << endl;

 for (int i=0;i<a.size();i++) //容器长度a.size()

{

   __ a[i] = (i + 1) * 2; ______//给容器a中元素重新赋值

 }

____cout << "最大值为:" << max_val << endl;________//输出 a数组中最大值

}

完善后的代码:

#include <iostream>

#include <vector>

#include <algorithm> //需要添加algorithm头文件

using namespace std;

int main() //main函数需要返回int类型

{

    vector<int> a(10, 1); //初始化容器,开辟10个单位空间·元素初始化为1

    int i;

    int max_val = 0; //需要初始化最大值为0

    for (int i = 0;i < a.size();i++) //容器长度a.size()

    {

         a[i] = (i + 1) * 2; //给容器a中元素重新赋值

         max_val = max(max_val, a[i]); //更新最大值

    }

    cout << "最大值为:" << max_val << endl; //输出 a数组中最大值

    return 0; //返回0表示程序正常结束

}

实验思考题回答与结果分析:

  1. 程序运行结果:

(2) 该程序主要运用.........知识点?编程时需要注意什么?(不要抄袭!

该程序主要运用了vector容器的基本使用方法,包括创建容器、初始化容器、访问容器元素、修改容器元素、获取容器大小等。编程时需要注意正确使用vector容器相关的成员函数和语法,例如使用[]操作符来访问容器元素、使用size()函数获取容器大小等。此外,在进行数据访问时,还需要注意对容器越界的情况进行处理,以避免程序崩溃或出现不可预期的错误。.......

  1. 理解vector容器基本用法,用迭代器依次访问容器中每个元素,下题要求:(1)查询某一元素在容器中出现的次数(2)找出容器中最大值。

参考代码:

#include <iostream>

#include<vector>  //头文件

#include<algorithm> //算法头文件

using namespace std;

void main()

{

    vector<int> v1; //定义容器

    v1.push_back(1); //把数据压入vector容器

    v1.push_back(3);

    v1.push_back(5);

    v1.push_back(5);

   for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++)//使用迭代器遍历

    {    cout << *it << endl;    }

    int num = count(v1.begin(),v1.end(),5); //计算5出现的次数

    cout << "5出现了" <<num<<""<< endl;

    _ int max_val = *max_element(v1.begin(), v1.end());

    cout << "最大值为:" << max_val << endl;________________________________//补充代码,找出最大值

}

实验思考题回答与结果分析:

  1. 程序运行结果:

  1. 该程序主要运用.........知识点?编程时需要注意什么?(不要抄袭!

该程序主要运用了vector容器的基本使用方法,包括创建容器、向容器中添加元素、使用迭代器遍历容器、使用count函数统计指定元素在容器中的出现次数、使用max_element函数找出容器中的最大值等。编程时需要注意正确使用vector容器相关的成员函数和语法,例如使用push_back函数添加元素、使用beginend

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/257767.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SDN随笔

SDN不支持跨厂商 vxlan有1600万个&#xff0c;随便用 openstack来通过sdn来管理网络 网络架构 openflow很激进&#xff0c;用的很少 华为解决方案 推动网络设备的自动化配发 网络流量与路径优化

Rust的eBFP框架Aya(一) - Linux内核网络基础

前言 在我的Rust入门及实战系列文章中已经说明&#xff0c; Rust是一门内存安全的高性能编程语言&#xff0c;从它的这些优秀特性来看&#xff0c;就是一门专为系统开发而诞生的语言。至于很多使用Rust来进行web开发的行为&#xff0c;不能说它们不好&#xff0c;只能说是杀鸡…

操作系统 2-6 课后作业2.3:系统调用

第1关版本1内核执行的完整系统调用序列 任务描述 分析版本1内核&#xff0c;回答下列问题&#xff1a; 从系统开机直到输出第 4 个字符‘1’&#xff0c;系统依次执行了哪些系统调用&#xff1f;分别是在几号进程中执行的&#xff1f;&#xff08;对于一组连续出现的 0 号进程…

喜讯:加速度商城系统全系列产品品牌全新升级为Shopfa

2月1日讯&#xff1a;经过1年多的品牌文化塑造&#xff0c;深圳市加速度软件开发有限公司经过研究决定&#xff0c;将旗下的多商户商城系列、小程序商城系列、B2B商城系列、供应商集采系列、电子元器件商城系列、跨境独立站商城系列、MRO工业品商城系列、外卖商城系列、智慧零售…

老电脑重置后能连上WIFI但是打开360网页老是提示该网址不是私密连接

看了一下可以忽略这次提示&#xff0c;能够上网&#xff0c;但是每次打开新网页都会有“该网址不是私密连接”提示&#xff0c;这个提示非常大&#xff0c;严重影响上网。 强行下载了谷歌浏览器并打开后&#xff0c;提示“您的时钟慢了”&#xff0c;然后看了一下电脑右下角日期…

【如何写论文】——写作提效的n个技巧:Word图、表自动编号 +Zotero实现参考文献自动化

目录 一、Word图、表自动编号1.1、单级编号1.2、多级编号1.3、交叉引用1.4、修改题注格式 二、Zotero实现参考文献自动化最后 一、Word图、表自动编号 在论文写作中&#xff0c;通常会包含数十张图片或表格。默认情况下&#xff0c;这些图片和表格都是没有编号的。 然而&…

快速入门FastAPI中的Field参数

快速入门FastAPI中的Field参数 在构建RESTful API时&#xff0c;定义资源模型是至关重要的。FastAPI是一个用于构建API的现代Python web框架&#xff0c;它使用Pydantic库来处理数据验证和模型。在这个过程中&#xff0c;Field 参数起着关键的作用。 本教程将向您介绍如何在F…

对Spring源码的学习:一

目录 BeanFactory开发流程 ApplicationContext BeanFactory与ApplicationContext对比 基于XML方式的Bean的配置 自动装配 BeanFactory开发流程 这里的第三方指的是Spring提供的BeanFactory&#xff0c;Spring启动时会初始化BeanFactory&#xff0c;然后读取配置清单&#…

【K8S】微服务不香了?单体化改造悄然兴起!!

微服务一直以来是服务治理的基本盘之一,落地到云原生上,往往是每个 K8s pods 部署一个服务,独立迭代、独立运维。 但是在快速部署的时候,有时候,我们可能需要一些宏服务的优势。有没有一种方法,能够 “既要又要” 呢?本文基于 tRPC-Go 服务,提出并最终实践了一种经验证…

常见的中间件--消息队列中间件测试点

最近刷题&#xff0c;看到了有问中间件的题目&#xff0c;于是整理了一些中间件的知识&#xff0c;大多是在小破站上的笔记&#xff0c;仅供大家参考~ 主要分为七个部分来分享&#xff1a; 一、常见的中间件 二、什么是队列&#xff1f; 三、常见消息队列MQ的比较 四、队列…

matplot绘图时图像太大报错但能保存

matplot绘图时&#xff0c;图像太大&#xff0c;可能在jupyter里面报错&#xff0c;但是图像可以保存。 报错&#xff1a;Image size of 12237479x675 pixels is too large. It must be less than 2^16 in each direction. 在这里插入图片描述

在Windows 11中,除了快捷键能让你迅速回到桌面,还有其他方法可以实现

本文介绍了在Windows11上显示桌面的所有不同方式。 使用键盘快捷键显示桌面 查看桌面的最快方法是使用键盘快捷键。有三种方法,每种方法都有自己的好处: WIN+D:按下这些键可以最小化所有打开的窗口,这样你就可以看到桌面并与之交互。重复此操作可以将所有窗口放回原位。W…