实验六

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:实验6 数组、指针与字符串

班级:11计算机一班姓名:邱光兰学号:2011131122 完成日期:2012/4/25 一.实验目的

(1)学习使用数组数据对象;

(2)学习标准C++库的使用。

(3)学习字符串数据的组织和处理;

(4)掌握指针的使用方法;

(5)练习通过Debug观察指针的内容及其所指的对象的内容;

(6)联系通过动态内存分配实现动态数组,并体会指针在其中的作用;

(7)分别使用字符数组和标准C++库练习处理字符串的方法。

二.实验任务

(1)编写并测试3X3矩阵转置函数,使用数组保存3X3矩阵;

(2)使用动态内存分配生成动态数组来重新完成第(1)题,使用指针视线函数的功能;

(3)编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数;

(4)使用string类声明字符串对象,重新实现第(3)题;

(5)声明一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。display

()显示姓名、街道地址、城市和邮编等属性,change_name()

改变对象的姓名属性,实现并测试这个类。

三.实验步骤

(1)编写矩阵转置函数,输入参数为3X3的整型数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操

作,编写main()函数实现输入、输出。

(2)改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。通过

debug观察指针的内容及其所指的对象中的内容。

(3)编程实现两字符串的连接。生命字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显

示输出。

(4)使用string类声明字符串对象,编程实现两个字符串的连接,在string 类中已重载了运算符“+=”实现字符串的连接,可以使用这个功能。

(5)在employee.h文件中声明Employee类。Employee类具有姓名、街道地址、城市和邮编等私有数据成员,都可以用字符型数组来表示,

在成员函数中,构造函数用来初始化所有成员数组,对字符数组的赋

值可以使用字符串拷贝函数strcpy(char*, char*name);display()

中使用cout显示姓名、街道地址、城市和邮编等属性,change_name

()改变类中表示姓名属性的字符数组类型的数据成员。在主程序中

声明这个类的对象并对其进行操作。

四.实验结果

(1)lab6_1.cpp

源代码:

#include

using namespace std;

void move(int a[3][3])

{

int i,j,temp;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

{

temp=a[i][j];

a[i][j]=a[j][i];

a[j][i]=temp;

}

}

int main()

{

int i,j;

int a[3][3];

for(i=0;i<3;i++){

for(j=0;j<3;j++){

cin>>a[i][j];

}

}

cout<<"输入的矩阵为:"<

for(i=0;i<3;i++){

for(j=0;j<3;j++){

cout<

cout<<" ";

}

cout<

}

move(a);

cout<<"转置后的矩阵:"<

for(i=0;i<3;i++){

for(j=0;j<3;j++){

cout<

cout<<" ";

}

cout<

}

return 0;

}

(2)lab6_2.cpp

源代码:

#include

using namespace std;

void move(int *a,int n)

{

int i,j,temp;

for(i=0;i<3;i++)

for(j=0;j<3;j++){

temp=*(a+i*n+j);

*(a+i*n+j)=*(a+j*n+i);

*(a+j*n+i)=temp;

}

}

int main()

{

int i,j,n;

int *p;

cout<<"输入矩阵的行、列数:";

cin>>n;

p=new int(n*n);

cout<<"输入矩阵的元素:";

for(i=0;i

for(j=0;j

cin>>p[i*n+j];

}

}

cout<<"输入的矩阵为:"<

for(i=0;i

{

for(j=0;j

cout<

cout<

}

move(p,n);

cout<<"转置后的矩阵:"<

for(i=0;i

{

for(j=0;j

cout<

cout<

}

return 0;

}

(3)lab6_3.cpp

源代码:

相关文档
最新文档