zoukankan      html  css  js  c++  java
  • 第六次课程作业

    第六次课程作业

    要求1:学习C++界面编程,可以学QT、MFC或者VS,选择其一即可,用博客记录学习到的知识以及心得体会。

    本来要去学MFC,结果安装MFC的时候出了点事故把vs搞崩了,害我换了个编译器,后来我去看了QT,感觉还行,但时间很赶,没学到什么。
    附上QT的helloword:

    要求2:用栈改进算法

    这是我改后的代码:

    double Mycount::calculateResult(double random1,double random2,double random3,double random4,int sign1,int sign2,int sign3){
        double r1[6],r2[6],r[6]={random1,random2,random3,random4};
        int rlen1=0,rlen2=0,s1[5],s2[5],slen1=0,slen2=0,s[5]={sign1,sign2,sign3};
        r1[rlen1++]=r[0];
        for(int i=0;i<3;i++){
        	r1[rlen1++]=r[i+1];
        	if(s[i]>=4){rlen1-=2;r1[rlen1]=qcount(r1[rlen1],r1[rlen1+1] ,s[i]);rlen1++;}
        	else s1[slen1++]=s[i];}
        r2[rlen2++]=r1[0];
        for(int i=0;i<slen1;i++){
        	r2[rlen2++]=r1[i+1];
        	if(s1[i]>=2){rlen2-=2;r2[rlen2]=qcount(r2[rlen2], r2[rlen2+1], s1[i]);rlen2++;}
        	else s2[slen2++]=s1[i];}
        for(int i=0;i<slen2;i++){
        	r2[i+1]=qcount(r2[i], r2[i+1], s2[i]);}
    	return r2[slen2];
    }
    

    下面是刚开始的:

    double Mycount::calculateResult(double random1,double random2,double random3,double random4,int sign1,int sign2,int sign3){
    	double count1,count2,count3,result;
        if(sign1>3){count1=qcount(random1,random2,sign1);
        if(sign2>3){count2=qcount(count1,random3,sign2);result=qcount(count2,random4,sign3);}
        else{if(sign3>3){result=qcount(count1,qcount(random3,random4,sign3),sign2);}
        else{if(sign2>1){result=qcount(qcount(count1,random3,sign2),random4,sign3);}
        else{if(sign3>1){result=qcount(count1,qcount(random3,random4,sign3),sign2);}
        else{result=qcount(qcount(count1,random3,sign2),random4,sign3);}}}}
        }else{if(sign2>3){count2=qcount(random2,random3,sign2);
        if(sign3>3){result=qcount(random1,qcount(count2,random4,sign3),sign1);}
        else{if(sign1>1){result=qcount(qcount(random1,count2,sign1),random4,sign3);}
        else{if(sign3>1){result=qcount(random1,qcount(count2,random4,sign3),sign1);}
        else{result=qcount(qcount(random1,count2,sign1),random4,sign3);}}}
        }else{if(sign3>3){count3=qcount(random3,random4,sign3);
        if(sign1>1){result=qcount(qcount(random1,random2,sign1),count3,sign2);}
        else{if(sign2>1){result=qcount(random1,qcount(random2,count3,sign2),sign1);}
        else{result=qcount(qcount(random1,random2,sign1),count3,sign2);}}
        }else{
        //无括号运算(大于三代表存在括号的运算)
        if(sign1>1){
        count1=qcount(random1,random2,sign1);
        if(sign2>1)result=qcount(qcount(count1,random3,sign2),random4,sign3);
        else{
        if(sign3>1) {
        count3=qcount(random3,random4,sign3);
        result=qcount(count1,count3,sign2);
        }else {
        result=qcount(qcount(count1,random3,sign2),random4,sign3);
        }}
        }else{
        if(sign2>1){count2=qcount(random2,random3,sign2);
        if(sign3>1){
        result=qcount(random1,qcount(count2,random4,sign3),sign1);}
        else{result=qcount(qcount(random1,count2,sign1),random4,sign3);}}
        else{if(sign3>1){count3=qcount(random3,random4,sign3);result=qcount(qcount(random1,random2,sign1),count3,sign2);
        }else{count1=qcount(random1,random2,sign1);result=qcount(qcount(count1,random3,sign2),random4,sign3);}}}}}}
        return result;
    }
    

    用了很多个if else。看了头就晕,那时候的我竟然有毅力把它写下来,厉害了我的哥。

    感想:

    作业有点赶,没有学好或没有写好的地方,我后面会花些时间补。

  • 相关阅读:
    DotNetty 实现 Modbus TCP 系列 (一) 报文类
    C# 获取文件详细备注信息 (如图片、视频实际创建时间)
    Java 下载 HLS (m3u8) 视频
    开源 DotNetty 实现的 Modbus TCP/IP 协议
    SQL Server 2008 开启远程连接
    在 Web 页面使用 VLC 插件播放 m3u8 视频流 (360 极速模式)
    在 Web 页面中使用离线地图
    使用 Travis CI 自动部署 Hexo 站点至 GitHub Pages
    BZOJ 3238: [Ahoi2013]差异((单调栈+后缀数组)/(后缀树))
    BZOJ 3998: [TJOI2015]弦论(后缀自动机)
  • 原文地址:https://www.cnblogs.com/qwe1/p/6930651.html
Copyright © 2011-2022 走看看