实验二——函数重载,快速排序,类对象

函数重载:

#include<iostream>

using namespace std;

         struct complex{

                   double real;

                   double imaginary;

         };

         int add(int,int);

         double add(double,double);

         complex add(complex,complex);

         int main()

         {

                   int a1=2,b1=3;

                   double a2=2.0,b2=3.0;

                   struct complex num1={2,3},num2={3,4};

                   cout<<add(a1,b1)<<endl;

                   cout<<add(a2,b2)<<endl;

                   complex n=add(num1,num2);

                   cout<< n.real<<"+"<<n.imaginary<<"i"<<endl;

                   return 0;

         }

         int add(int a,int b){return a+b;}

         double add(double a,double b){return a+b;}

         complex add(complex a,complex b){

                   struct complex m;

                   m.real=a.real+b.real;

                   m.imaginary=a.imaginary+b.imaginary;

                   return m;

         }

 

快速排序:

#include<iostream>

using namespace std;

void quicksort(int a[], int low, int high)

{

    if(low>=high){return;}

    int num1=low;

    int num2=high;

    int sample=a[num1];

    while(num1<num2)

    {

        while(num1<num2&&a[num2]>=sample)

            --num2;

        a[num1]=a[num2];

        while(num1<num2&&a[num1]<=sample)

            ++num1;

        a[num2]=a[num1];   

        a[num1]=sample;

        quicksort(a,low,num1-1);

        quicksort(a,num1+1,high);

       }

}

 int main()

 {

     int i;

     int a[]={4,20,15,14,19,7,8};

        cout<<"before:";

     for(i=0;i<7;i++)

               cout<<a[i]<<" ";

        cout<<endl;

     quicksort(a,0,6);

        cout<<"after:";

     for(i=0;i<7;i++)

         cout<<a[i]<<" ";

        cout<<endl;

     return 0;

 }

简单类对象:

#include<iostream>

#include<string>

using namespace std;

class user

{

public:

       void setinfo(string name1,string password1="111111",string email1=" ");

       void changepassword();

       void printinfo();

private:

       string name;

       string password;

       string email;

};

void user::setinfo(string name1,string password1,string email1)

{

       name=name1;

       password=password1;

       email=email1;

}

void user::changepassword()

{

       int i=0;

       string mima;

       while(1)

       {

         cout<<"enter the old password:";

         cin>>mima;

      if(mima==password)

         {

              cout<<"enter the new password:";

              cin>>password;

              break;

         }

         if(mima!=password)

         {

              i++;

              cout<<"the password is wrong,please resume load!"<<endl;

              if(i==3)

              {

                     cout<<"please try after a short while!";

                     break;

              }

         }

       }

}

void user::printinfo()

{

   cout<<"name:"<<name<<endl;

   cout<<"password:"<<password<<endl;

   cout<<"email:"<<email<<endl;

}

int main()

{

       cout<<"please enter the first information"<<endl;

       user user1;

       user1.setinfo("Leonard");

       user1.changepassword();

       user1.printinfo();

       cout<<"please enter the second information"<<endl;

       user user2;

       user2.setinfo("yfwg","173779","yfwg@bkymail.com");

       user2.printinfo();

       return 0;

}

实验总结:

1、对于快速排序的算法依旧很生疏,这里的代码借助了百度百科。

2、对于类对象的代码依旧没有形成充足的认识,这次写类对象的代码参考了很多,自己的能力实在不足。要加强这方面练习。

3、对于结构体这一块依旧很不熟练,在c语言的时候就没有学的很扎实,以后还要多练习

转载于:https://www.cnblogs.com/yfwg/p/10594280.html

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

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

相关文章

LeetCode 771. 宝石与石头

题目&#xff1a; 给定字符串J 代表石头中宝石的类型&#xff0c;和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型&#xff0c;你想知道你拥有的石头中有多少是宝石。 J 中的字母不重复&#xff0c;J 和 S中的所有字符都是字母。字母区分大小写&#…

Python——类与对象,异常处理

类 1 class C1: 2 def setdata(self,value): 3 self.data value 4 def display(self): 5 print(self.data) 1 class C2(C1): //继承&#xff0c;2 def display(self): 3 print(C2:, self.data)…

【前沿技术】Facebook 硬件负责人,带摄像头的智能眼镜将在 10 年内成为常态

拍照功能将在十年内成为智能眼镜的标准配置来源&#xff1a;智能研究院在 Facebook 与 Luxottica 的首款智能眼镜合作产品 Ray-Ban Stories 发布后&#xff0c;Facebook 硬件业务负责人 Andrew Bosworth 周五在与 Essilor Luxottica 的首席可穿戴设备官 Rocco Basilico 交谈时表…

LeetCode 1431. 拥有最多糖果的孩子

题目&#xff1a;给你一个数组 candies 和一个整数 extraCandies &#xff0c;其中 candies[i] 代表第 i 个孩子拥有的糖果数目。 对每一个孩子&#xff0c;检查是否存在一种方案&#xff0c;将额外的 extraCandies 个糖果分配给孩子们之后&#xff0c;此孩子有 最多 的糖果。…

#leetcode刷题之路35-搜索插入位置

给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。 示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: …

9大领域50名青年学者获2021年科学探索奖,单人奖金300万元

来源&#xff1a;科学探索奖官网、科学网等9 月 13 日&#xff0c;2021 年科学探索奖获奖人名单公布&#xff0c;来自 9 个领域的 50 名青年科学家获奖。其中包括 8 名女性科学家&#xff0c;最年轻获奖者仅 32 岁。他们将在 5 年内获得总计 300 万元人民币的奖金&#xff0c;可…

ajax传递数组,后台接收为null解决方法

traditional:true,加上这个就好&#xff0c;默认为false,即允许深度序列化参数&#xff0c;但是servlet api不支持&#xff0c;所有设为true阻止就好了。 $.ajax({ type:post, url:/lst, async:true, data:{"arr_id":arr_id}, traditional:true, s…

多角度回顾因果推断的模型方法

来源&#xff1a;AI干货知识库推断因果关系&#xff0c;是人类思想史与科学史上的重要主题。现代因果推断的研究&#xff0c;始于约尔-辛普森悖论&#xff0c;经由鲁宾因果模型、随机试验等改进&#xff0c;到朱力亚珀尔的因果革命&#xff0c;如今因果科学与人工智能的结合正掀…

torchvision包的主要构成

torchvision包是服务于PyTorch深度学习框架的&#xff0c;主要用来构建计算机视觉模型。 torchvision 主要由以下几部分构成&#xff1a; torchvision.datasets&#xff1a;一些加载数据的函数及常用的数据集接口&#xff1b;torchvision.models&#xff1a;包含常用的模型结…

Eclipse+ADT+Android SDK 搭建安卓开发环境

要求&#xff1a;windows 7 基本操作。运行环境&#xff1a;windows 7(64位); eclipse-jee-luna-SR2-win32(32位);ADT-23.0.4 最近刚开始接触Android(安卓)嵌入式开发&#xff0c;首要问题是搭建Andoid开发环境&#xff0c;由于本人用的是windows7的笔记本&#xff0c;也就只能…

机器学习与数据挖掘简介

机器学习的目的是预测&#xff08;包括分类和回归&#xff09;。 分类是根据输入数据&#xff0c;判别这些数据隶属于哪个类别。 回归则是根据输入数据&#xff0c;计算出一个输出值。输入数据一般为一个向量&#xff0c;向量的各个分量也称为特征&#xff08;Feature&#xff…

骆利群院士最新Science综述:神经环路架构,激发新的AI

来源&#xff1a;ScienceAI编辑&#xff1a;凯霞人脑包含大约 1000 亿个神经元&#xff0c;每个神经元都有数千个突触连接。尽管单个神经元是神经系统的基本单位&#xff0c;但正是它们的突触连接模式使神经元能够为特定功能形成专门的神经环路&#xff0c;从而使大脑成为强大的…

软件设计作业 1

第一部分先列出本次采用Scrum敏捷编程的任务完成情况&#xff0c;并写出心得 酒店管理系统能够极大的方便酒店的工资人员在关于酒店的管理的操作&#xff0c;如客人入住、退房&#xff0c;信息录入、查询等&#xff0c;极大的提高了酒店整体管理活动的工作效率。 使用Scrum使得…

决策树简介与入门

决策树表示对象属性&#xff08;比如贷款用户的年龄、是否有工作、是否有房产、信用评分等&#xff09;和对象类别&#xff08;是否批准其贷款申请&#xff09;之间的一种映射。使用层层推理来实现最终的分类。  根节点&#xff1a;包含样本的全集  内部节点&#xff1a;对…

前端vue实现pdf文件的在线预览

3.前端vue实现pdf文件的在线预览 我是通过 <iframe> 标签就可以满足我工作的 pdf预览需求 如果<iframe> 无法满足需求 &#xff0c; 可以使用pdf.js这个插件&#xff0c;功能强大。 <iframe:src"url"type"application/x-google-chrome-pdf"…

中国科学院院士骆清铭: “看见”大脑

来源&#xff1a;瞭望 新闻周刊编辑&#xff1a;宋若一责任编辑&#xff1a;冀娴贤文&#xff1a;《瞭望》新闻周刊记者 扈永顺 ◇以工业化的方式大规模、标准化地产生数据并绘制脑图谱&#xff0c;将改变神经科学已有的研究方式◇“全脑介观神经联接图谱”大科学计划目前已凝…

Serializer字段和选项

字段 字段构造方式 BooleanField BooleanField() NullBooleanField NullBooleanField() CharField CharField(max_lengthNone, min_lengthNone, allow_blankFalse, trim_whitespaceTrue) EmailField EmailField(max_lengthNone, min_lengthNone, allow_blankFal…

聚类算法 K-Means 简介与入门

K-Means 算法是最简单的一种聚类算法&#xff0c;属于无监督学习算法。 聚类和分类最大的不同在于&#xff1a;分类的目标是事先已知的&#xff0c;而聚类则不一样&#xff0c;聚类事先不知道目标变量是什么&#xff0c;类别没有像分类那样被预先定义出来。 假设我们的样本是 …

聚焦五大领域:浙江大学发布《重大领域交叉前沿方向2021》报告

来源&#xff1a;浙江大学以智能化为特征的第四次工业革命已经全面开启&#xff0c;会聚技术的不断涌现&#xff0c;正引领各领域创新突破性跃迁。学科交叉是这场变革的核心驱动力&#xff0c;主要表现为信息、生命、物质三大学科板块间的深度融合&#xff0c;最终将推动人类生…

分类算法支持向量机(SVM) 简介与入门

在二维平面上&#xff0c;把两类数据分开需要一条直线。到了3微空间&#xff0c;要把两类数据分开&#xff0c;就需要一个平面。把上述分类机制扩展到基本情形&#xff0c;在高维空间里&#xff0c;把两类数据分开&#xff0c;则需要一个超平面。直线和平面是超平面在2维和3维空…