VC++程序设计课程实践基础题

(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)私有数据成员

>>鐏炴洖绱戦崗銊︽瀮<<
12@gma联系客服:779662525#qq.com(#替换为@)