<<\个元素为:\ cin >> data[i][j]; }
cout << \输入的矩阵的为:\ for(i=0; i<3; i++) { for (j=0; j<3; j++) cout << data[i][j] << \ cout << endl; }
move(data);
cout << \转置后的矩阵的为:\ for(i=0; i<3; i++) { for (j=0; j<3; j++) cout << data[i][j] << \ cout << endl; } } 或者:
#include
void move (int matrix[][3]) {
int i, j, k;
for(i=0; i<3; i++) for (j=0; j
void main() {
int i, j; int (*p)[3];
p= new int[3][3];
30
}
cout << \输入矩阵的元素\for(i=0; i<3; i++) for (j=0; j<3; j++) { cout << \第\行第\个元素为:\ cin >> p[i][j]; }
cout << \输入的矩阵的为:\for(i=0; i<3; i++) {
for (j=0; j<3; j++) cout << p[i][j] << \ cout << endl; }
move(p);
cout << \转置后的矩阵的为:\for(i=0; i<3; i++) {
for (j=0; j<3; j++) cout << p[i][j] << \ cout << endl; }
2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main函数中使用new操作符分配内存生成动态数组。通过Debug观察指针的内容及其所指的对象的内容。并使用debug跟踪指针的值及其所指的对象的值。示例程序lab6_2.cpp代码如下:
#include
void move (int *matrix) {
int i, j, k;
for(i=0; i<3; i++) for (j=0; j
31
*(matrix + i*3 + j) = *(matrix + j*3 + i); *(matrix + j*3 + i) = k; } }
void main() {
int i, j;
int *p = new int[3*3];
cout << \输入矩阵的元素\ for(i=0; i<3; i++) for (j=0; j<3; j++) { cout << \第\行第\ <<\个元素为:\ cin >> p[i*3 + j]; }
cout << \输入的矩阵的为:\ for(i=0; i<3; i++) {
for (j=0; j<3; j++) cout << p[i*3 + j] << \ cout << endl; }
move(p);
cout << \转置后的矩阵的为:\ for(i=0; i<3; i++) {
for (j=0; j<3; j++) cout << p[i*3 + j] << \ cout << endl; } }
3.编程实现两字符串的连接。定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。注意:字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。示例程序lab6_3.cpp代码如下:
32
#include
int i=0,j=0;
char s1[200],s2[100];
cout << \请输入第一个字符串:\ cin >> s1;
cout << \请输入第二个字符串:\ cin >>s2; while(s1[i]) i++; while(s2[j])
s1[i++] = s2[j++]; s1[i] = '\\0';
cout << \连接后的字符串为:\}
4.使用string类定义字符串对象,编程实现两字符串的连接。在string类中已重载运算符”+=”实现字符串的连接,可以使用这个功能。并练习使用类中其他的功能。示例程序lab6_3.cpp代码如下:
#include
void main() {
string s1; string s2;
cout << \请输入第一个字符串:\ cin >> s1;
cout << \请输入第二个字符串:\ cin >>s2; s1 += s2;
cout << \连接后的字符串为:\}
33
实验七 继承与派生一、实验目的
1.学习定义和使用类的继承关系,定义派生类。2.理解类的访问控制与类的成员访问的关系。 3.熟悉不同继承方式下对基类成员的访问控制。4.学习利用虚基类解决二义性问题。 二、实验课时
4学时
34