第五周作业任务二

原创 2012年03月21日 20:49:46
#include <iostream>   
using namespace std;  
int gcd(int,int);    
class CFraction  
{private:  
int nume;//分子     
int deno;//分母     
public:  
      CFraction(int nu = 0,int de = 1);//构造函数,初始化用   
  
      void set(int nu = 0,int de = 1);//置值,改变值时用   
  
      void input();//按照"nu/de"的格式,如"5/2"的形式输入   
 
      void Simplify();//化简(是分子分母没有公因子)   
  
      void amplify(int n);//放大n倍,如2/3放大五倍为10/3   
  
      void output(int style = 0);//输出:以8/6为例,style为0时,输出8/6; 
	  
	                             //style为1时,输出4/3;   

                               //style为2时,输出1(1/3),表示一又三分之一;   
                               //不给出参数和非1、2,认为是方式0
};
 CFraction::CFraction(int nu,int de)
{
	if(de!=0)
	{
		nume=nu;
		deno=de;
	}
	else
	{
		cerr<<"分母不能为0"<<endl;
		exit(0);
	}
}
 void CFraction::set(int nu,int de)
 {
	 if(de!=0)
	 {nume=nu;
	 deno=de;
	 }
 }
void CFraction::input()
{
	char c;
	while(1)
	{
		cin>>nume>>c>>deno;
        if(c!='/')
			cout<<"格式不对"<<endl;
		    else if(deno==0)
				cout <<"分母不能为0"<<endl;
			else 
				break;
	}
}
void CFraction::Simplify()
{   
	int n=gcd(nume,deno);
	nume=nume/n;
	deno=deno/n;
}
//求最大公约数
int gcd(int x,int y)
{
	int r;
    while(y!=0)
	{
	r=x%y;
	x=y;
	y=r;
	}
 return x;
}
void CFraction::amplify(int n)
{
	nume*=n;//分子放大n倍
}
void output(int style=0)
{
	int i,nu,de,nume,deno;
	switch(style)
	{
	case 0:
		cout<<nume<<'/'<<deno<<endl;
		break;
	case 1:
		 i=gcd(nume,deno);
		cout<<(nume/i)<<'/'<<(deno/i)<<endl;
		break;
	case 2:
		i=gcd(nume,deno);
		nu=nume/i;
		de=deno/i;
		cout<<(nu/de)<<"("<<(nu%de)<<'/'<<de<<")"<<endl;
		break;
	default:
		cout<<nume<<'/t'<<deno<<endl;
	}
}
int main()
{
	CFraction c1;
	c1.output(0);
	c1.amplify(5);
	c1.output(0);
	c1.set(8,6);
	system("pause");
	return 0;
}


上级感言:这次任务是在老师讲解后完成的,体会到很多,思路也清晰了不少。 

machine-learning第五周 上机作业

毫无疑问,难度越来越大了,首先我们得复习相关概念: 1、导数(变化率)与微分 (变化量) 2、数学里的 e 为什么叫做自然底数? 3、女神的文章必不可少 剩下的必须慢慢啃了。总之,本章要完全理解我觉得...
  • dialoal
  • dialoal
  • 2016年01月22日 15:32
  • 1667

Coursera—machine learning(Andrew Ng)第五周编程作业

sigmoidGradient.m function g = sigmoidGradient(z) %SIGMOIDGRADIENT returns the gradient of the si...
  • ccblogger
  • ccblogger
  • 2017年11月13日 16:25
  • 480

机器学习第5周!

教辅说这周的作业是史上最难
  • Clifnich
  • Clifnich
  • 2016年09月05日 17:47
  • 753

Coursera吴恩达机器学习课程 总结笔记及作业代码——第5周神经网络续

Neural Networks:Learning上周的课程学习了神经网络正向传播算法,这周的课程主要在于神经网络的反向更新过程。1.1 Cost function我们先回忆一下逻辑回归的价值函数 J...
  • qq_27008079
  • qq_27008079
  • 2017年05月14日 21:21
  • 5625

普林斯顿算法课第五周作业

Programming Assignment 5: Kd-Trees Write a data type to represent a set of points in the unit squar...
  • tumaolin94
  • tumaolin94
  • 2014年10月19日 11:15
  • 1549

STL与泛型编程第一周作业

/* 题目: 给定一个 vector:v1 = [0, 0, 30, 20, 0, 0, 0, 0, 10, 0],希望通过not_equal_to 算法找到到不为零的元素,并复制到另一个 vecto...
  • skyhuangdan
  • skyhuangdan
  • 2016年04月07日 14:44
  • 410

吴恩达机器学习笔记_第五周

神经网络——模型学习   Cost Function:从逻辑回归推广过来 计算最小值,无论用什么方法,都需要计算代价和偏导。   网络结构的前向传播和可向量化的特点:   BP算...
  • hunterlew
  • hunterlew
  • 2016年05月15日 11:43
  • 2464

程序设计入门—Java语言_第三周编程作业

1奇偶个数 题目内容: 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。 输入格式: 一系列正整数,整数的范...
  • helleong
  • helleong
  • 2014年12月23日 12:09
  • 696

Coursera机器学习-第五周-Neural Network BackPropagation

Cost Function and BackpropagationCost Function 假设有样本m个。x(m)x^{(m)}表示第m个样本输入,y(m)y^{(m)}表示第m个样本输出,LL...
  • dingchenxixi
  • dingchenxixi
  • 2016年05月22日 22:17
  • 4455

C语言入门-第五周:作业01

1高精度小数(10分)题目内容: 由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法。 (0,1)之间的任何浮点数都可以表达为两个正整数的商,为了...
  • wxx0136
  • wxx0136
  • 2016年08月19日 15:57
  • 419
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第五周作业任务二
举报原因:
原因补充:

(最多只允许输入30个字)