(2)公有成员函数
? Saddle_point(int data[][4]):构造函数,用参数int data[][4]初始化数组a,,
同时初始化数组b与num 的值均为0。
? void process( ):求数组a所有鞍点(如果有鞍点),把它们行、列、及
值相应存放在数组b中,并将求出的鞍点个数赋给num。 ? void print( ):输出数组a、鞍点个数,与鞍点坐标及相应值。
(3)在主程序中定义数组int b[ ][4]={2, 6, 3, 4, 5, 6, 5, 5, 5, 7, 6, 7, 1, 9, 2, 7}作
为原始数组。定义一个Saddle_point类对象fun。通过fun调用成员函数完成求鞍点及输出工作。
23.分数相加,两个分数分别是1/5和7/20,它们相加后得11/20。方法是先求出两
个分数分母的最小公倍数,通分后,再求两个分子的和,最后约简结果分数的分子和分母(如果两个分数相加的结果是4/8,则必须将其约简成最简分数的形式1/2),即用分子分母的最大公约数分别除分子和分母。求m、n最大公约数的一种方法为:将m、n较小的一个数赋给变量k,然后分别用{ k,k-1,k-2,…,1}中的数(递减)去除m和n,第一个能把m和n同时除尽的数就是m和n的最大公约数。假定m、n的最大公约数是v,则它们的最小公倍数就是m*n/v。试建立一个分数类Fract,完成两个分数相加的功能。 具体要求如下: (1)私有数据成员
? int num,den :num为分子,den为分母。 (2)公有成员函数
? Fract(int a=0,int b=1):构造函数,用a和b分别初始化分子num、分母den。
? int ged(int m,int n):求m、n的最大公约数。此函数供成员add()函数调用。
? Fract add(Fract f):将参数分数f与对象自身相加,返回约简后的分数对象。
? void show( ):按照num/den的形式在屏幕上显示分数。
(3)在主程序中定义两个分数对象f1和f2,其初值分别是1/5和7/20,通
过f1调用成员函数add完成f1和f2的相加,将得到的分数赋给对象f3,显示分数对象f3。
24.建立一个类NUM,并统计特定序列中相同的数字的个数。 具体要求如下:
(1)私有数据成员
? int data[25]:随机生成25个在0-9之间的数字。 ? int num[10]:储存每个数字出现的个数。 (2)公有数据成员
? NUM(int data):构造函数,初始化数组data。
? void process( ):统计数组data中每个数字出现的个数,并保存到数
组num中。
16
? void print( ):输出每个数字出现的个数,每行输出5个
(3)在主程序中定义一个对象,对该类进行测试。
25.建立一个类NUM,并统计特定序列中相同的字符的个数。
具体要求如下: (1)私有数据成员
? char data[25]:随机生成25个字符。
? int num[128]:储存每个字符出现的个数。 (2)公有数据成员
? NUM(int data):构造函数,同时初始化数组data。
? void process( ):统计数组data中每个字符出现的个数,并保存到数
组num中。
? void print( ):输出每个出现过的字符及其出现的个数,每行输出5
个,没有出现过的字符不显示。
(3)在主程序中定义一个对象,对该类进行测试。
26.建立一个类NUM,随机生成25个字符序列,并为特定序列进行排序。
具体要求如下: (1)私有数据成员