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

函数重载:

#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中的所有字符都是字母。字母区分大小写&#…

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

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

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

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

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

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

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;也就只能…

骆利群院士最新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;将改变神经科学已有的研究方式◇“全脑介观神经联接图谱”大科学计划目前已凝…

聚类算法 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维空…

主宰这个世界的10大算法

来源&#xff1a;算法与数学之美什么是算法&#xff1f;简而言之&#xff0c;任何定义明确的计算步骤都可称为算法&#xff0c;接受一个或一组值为输入&#xff0c;输出一个或一组值。(来源&#xff1a;homas H. Cormen, Chales E. Leiserson 《算法导论第3版》)可以这样理解&a…

关联规则分析 Apriori 算法 简介与入门

关联规则的几个概念&#xff1a; 关联规则是形如 X -> Y 的蕴含式&#xff0c;表示通过 X 可以推导出 Y&#xff0c;X称为关联规则的左部&#xff08;Left Hand Side&#xff0c;LHS&#xff09;&#xff0c;Y 称为关联规则的右部&#xff08;Right Hand Side&#xff0c;R…

OO第一单元总结__多项式求导问题

作业一、含幂函数的简单多项式的求导 &#xff08;1&#xff09;基于度量的程序结构分析 1. 统计信息图&#xff1a; 2. 结构信息图&#xff1a; 3. 复杂度分析 基本复杂度&#xff08;Essential Complexity (ev(G))、模块设计复杂度&#xff08;Module Design Complexity (iv(…

Go语言中的`sync`包同步原语

通过sync包掌握Go语言的并发 并发是现代软件开发的基本方面&#xff0c;而Go&#xff08;也称为Golang&#xff09;为并发编程提供了一套强大的工具。在Go中用于管理并发的基本包之一是sync包。在本文中&#xff0c;我们将概述sync包&#xff0c;并深入探讨其最关键的同步原语…

AdaBoost 算法 入门

AdaBoost 是一种迭代算法&#xff0c;其核心思想是针对同一个训练集训练不同的分类器&#xff0c;即弱分类器&#xff0c;然后把这些弱分类器集合起来&#xff0c;构造一个更强的最终分类器。算法的适应性在于前一个基本分类器分错的样本会得到加强&#xff0c;加权后的全体样本…

第一单元总结

一、作业分析 第一次作业 与后两次作业相比&#xff0c;第一次作业非常简单&#xff0c;仅要求对由常数项和幂函数组成的多项式求导。但由于缺少面向对象编程经验&#xff0c;我在这次作业中栽了不少跟头。 &#xff08;1&#xff09;度量分析 在第一次作业中&#xff0c;我还没…

牛客16426 玩具谜题

题目描述 南有一套可爱的玩具小人&#xff0c;它们各有不同的职业。 有一天&#xff0c;这些玩具小人把小南的眼镜藏了起来。小南发现玩具小人们围成了一个圈&#xff0c;它们有的面朝圈内&#xff0c;有的面朝圈外&#xff0c;如下图&#xff1a; 这时 singer 告诉小南一个谜…