`
bulote
  • 浏览: 1385632 次
文章分类
社区版块
存档分类
最新评论

实训C++语言设计——3*3矩阵转置函数

 
阅读更多

编写并测试3*3矩阵转置函数,并使用数组保存3*3矩阵。
算法:先在主函数中定义一个二维数组,然后通过print函数来完成输出功能,这是通过喜欢来完成的,然后就是转置,转置时可以通过一个辅助数组来完成,先把距阵中的值传到此辅助数组中,然后把i行j列中的值传到j行i列中即可完成。
代码:
#include<iostream.h>
void main()
{
int a[3][3],i,j,b[3][3];
cout<<"请依次输入距阵中的元素:"<<endl;
for( i=0;i<3;i++)
{
for( j=0;j<3;j++)
{
cin>>a[i][j];
}
}
cout<<"此矩阵中的元素为:"<<endl;
for( i=0;i<3;i++)
{
for( j=0;j<3;j++)
{
cout<<a[i][j];
cout<<" ";
}
cout<<endl;
}
cout<<"经过转置后矩阵为:"<<endl;
for( i=0;i<3;i++)
{
for( j=0;j<3;j++)
{
b[i][j]=a[j][i];
cout<<b[i][j];
cout<<" ";
}
cout<<endl;
}
}
2使用动态内存分配生成动态数组来完成上述功能。
算法:先在主函数中定义一个整形指针,让它指向一个数组,在输出元素时,通过指针自增即可,在实现转置时,先把指针值传过去,然后通过类似上面的方式即可完成。
代码:
#include<iostream.h>
#include<stdlib.h>
void print(int *a)
{
for(int i=0;i<9;i++)
{
cout<<*a;
cout<<" ";
a++;
if((i+1)%3==0)cout<<endl;
}
}

void reserve(int *&a)
{
int b[3][3],i,j;
int *c;
c=a;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
b[i][j]=*a;
a++;
}
}
a=c;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
*a=b[j][i];
a++;
}
}
a=c;
}

void main()
{
int i,j;
int *a,*b;
a=(int *)new int[3][3];
b=a;
cout<<"请依次输入距阵中的元素:"<<endl;
for(i=0;i<9;i++)
{
cin>>*a;
a++;
}
a=b;
cout<<"此距阵中的元素为:"<<endl;
print(a);
reserve(a);
cout<<"经过转置后此距阵为:"<<endl;
print(a);
}

分享到:
评论

相关推荐

    3阶矩阵转置

    在C++等编程语言中,可以这样定义一个3x3的矩阵: ```cpp int matrix[3][3]; ``` 接下来,我们将编写一个函数`move`来实现矩阵的转置。在这个函数中,我们将使用两层嵌套循环遍历矩阵的每个元素。需要注意的是,...

    从键盘输入一个3*3的矩阵,要求:输出此矩阵对应的转置矩阵(所谓转置,指的是对任意元素Pi,j和对应的Pj,i交换)。

    从键盘输入一个3*3的矩阵,要求:输出此矩阵对应的转置矩阵(所谓转置,指的是对任意元素Pi,j和对应的Pj,i交换)。

    c++转置函数实验(报告+代码)

    在本实验中,我们主要探讨的是C++编程中的一个特定操作——转置。转置通常应用于矩阵或二维数组,它涉及到将数组的行变为列,列变为行,从而得到一个新的数组,即原数组的转置。这个过程在矩阵运算、图像处理以及...

    C++语言程序设计——实训教程

    《C++语言程序设计——实训教程》是一本专为初学者和在校大学生设计的实践导向教程,旨在通过实例和练习帮助读者深入理解C++编程语言。C++是一种强大的、通用的编程语言,它继承了C语言的高效性,并引入了面向对象...

    数据结构 C++语言描述——应用标准模板库(STL)(第2版)源代码

    作者将C++语言作为算法描述语言,应用包含规范化的数据结构的标准模板库,集中讲述了数组、向量、表、关联树容器,以及集合、映射、堆、哈希表和图等数据结构及其算法,重点讨论了如何高效地存储大型数据集合,涵盖...

    基于 C++设计的远程控制软件 客户端和服务端,两个防护软件

    可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 设计的远程控制软件 客户端和服务端,两个防护软件 程序及源代码—————————————**//各部分的源代码** ├─ControlServer...

    矩阵运算小工具 构造m*n的矩阵,计算矩阵的+,-,*,/,转置

    构造m*n的矩阵,计算矩阵的+,-,*,/,转置

    数据结构-——矩阵转置

    在本文中,我们将深入探讨矩阵转置的概念以及如何在C++中实现矩阵的压缩存储和转置操作。矩阵转置是指将矩阵的行变为列,列变为行,从而得到一个新的矩阵,新矩阵被称为原矩阵的转置。在计算机科学中,尤其是在数值...

    c++实训教程——C++

    C++是一种广泛应用于系统软件、应用软件、游戏开发、嵌入式系统以及各种复杂软件工程的语言,由Bjarne Stroustrup在1983年为改进C语言而设计。本实训教程旨在深入浅出地教授C++编程,帮助学习者掌握C++的基础语法、...

    《C++语言描述——数据结构算法与应用》

    《C++语言描述——数据结构算法与应用》是一本深入探讨C++编程语言在数据结构和算法应用方面的专业书籍。本书旨在帮助读者理解和掌握如何利用C++高效地实现各种数据结构和算法,从而提升编程技能和解决问题的能力。...

    数据结构 C++语言描述——应用标准模板库(STL)(第2版)源代码 .net版

    作者将C++语言作为算法描述语言,应用包含规范化的数据结构的标准模板库,集中讲述了数组、向量、表、关联树容器,以及集合、映射、堆、哈希表和图等数据结构及其算法,重点讨论了如何高效地存储大型数据集合,涵盖...

    C/C++实训题目及答案

    在本资源中,"C/C++实训题目及答案"是一个专为C和C++初学者设计的实践训练材料。这个压缩包包含了一系列的编程题目以及它们对应的解答,旨在帮助学习者提升对这两种语言的理解和应用能力。以下是这些知识点的详细...

    稀疏矩阵转置算法

    3. **遍历三元组**:对原矩阵的每一个三元组(i, j, v),在转置矩阵中创建一个新的三元组(j, i, v)。这里需要注意,由于我们处理的是转置,所以行和列的位置要交换。 4. **排序转置矩阵**:由于原矩阵的三元组...

    C_C++语言硬件程序设计——基于TMS320C5000系列DSP

    《C/C++语言硬件程序设计——基于TMS320C5000系列DSP》是一本深入探讨如何使用C和C++编程语言进行数字信号处理(DSP)的专著,特别关注德州仪器(TI)的TMS320C5000系列 DSP 芯片。该书涵盖了从基础概念到高级应用的...

    C++实现各种矩阵运算

    本文将详细讨论如何使用C++标准模板库(STL)和面向对象编程思想来实现矩阵的各种运算,如矩阵相加、矩阵相乘、求逆、转置以及计算行列式。 1. **矩阵基础**: - 矩阵是由数字构成的矩形阵列,通常用大括号`{}`或...

    C++课程设计——商品库存管理系统源程序

    C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程,也支持面向对象编程的程序设计语言。它的特点是性能高、灵活性强,是许多大型软件的基础。在C++课程设计中,你需要掌握的关键概念包括:...

    C++课程设计——计算各分数表达式的值.docx

    【C++课程设计——计算各分数表达式的值】 在本次C++课程设计中,学生将面临一项挑战,即设计一个程序来计算各种分数表达式的值。这个任务旨在帮助学生巩固和提升他们的C++编程技能,特别是涉及到分数运算、文件...

    数据结构C++语言描述——应用标准模板库 第2版

    数据结构C++语言描述——应用标准模板库

    C++课程设计——旅馆管理系统源程序

    【标题】"C++课程设计——旅馆管理系统源程序"是一个基于C++编程语言的实践项目,旨在帮助学生理解和掌握C++在实际应用中的运用,特别是针对数据管理与系统设计的技能。这个系统模拟了一个旅馆的日常运营,包括客房...

Global site tag (gtag.js) - Google Analytics