用c++编写程序,编写一个3*3矩阵转置的函数,在main()函数中输入数据

作者&投稿:敏施 (若有异议请与网页底部的电邮联系)
用c++编写一个3*3矩阵转置的函数,在main()函数中输入数据,并另外创建一个一维数组,~

1、打开vs2015,新建一个Windows Form窗体程序或者控制台都可以。

2、 定义一个名为array1的数组并赋值:double[,] array1 = new double[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };。

3、右键解决方案下的项目名,添加-类,创建一个名为“turnzhi”的类。

4、转置类的代码为:public static double[,] 转置(double[,] A){ int m, n;m = A.GetLength(0);n = A.GetLength(1);double[,] C = new double[n, m];for (int i = 0; i < m; i++){for (int j = 0; j < n; j++){C[j, i] = A[i, j];}} return C;}。

5、在主程序调用转置类,用两个for循坏将转置后的数组(array)输出来;并将结果显示在textbox中。

6、最后运行程序查看我们编写的结果。

用指针或是直接交换.
下面是指针的写法:
#include
using namespace std;
void fun(int *p)
{
int i,j,k;
for(i=0;i<3;i++)
{
for(j=i;j<3;j++)
{
k=*(p+3*i+j);
*(p+3*i+j)=*(p+3*j+i);
*(p+3*j+i)=k;
}
}
}
int main()
{
int i,j,*p2;
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
for( i=0;i<3;i++)
{
for( j=0;j<3;j++)
cout<<*(*(a+i)+j)<<" ";
cout<<endl;
}
cout<<endl;
p2=&a[0][0];
fun(p2);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<*(*(a+i)+j)<<" ";
cout<<endl;
}
}

1、打开vs2015,新建一个Windows Form窗体程序或者控制台都可以。

2、 定义一个名为array1的数组并赋值:double[,] array1 = new double[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };。

3、右键解决方案下的项目名,添加-类,创建一个名为“turnzhi”的类。

4、转置类的代码为:public static double[,] 转置(double[,] A){ int m, n;m = A.GetLength(0);n = A.GetLength(1);double[,] C = new double[n, m];for (int i = 0; i < m; i++){for (int j = 0; j < n; j++){C[j, i] = A[i, j];}} return C;}。

5、在主程序调用转置类,用两个for循坏将转置后的数组(array)输出来;并将结果显示在textbox中。

6、最后运行程序查看我们编写的结果。



这个很简单了,直接声明一个二维数组,转置时只需将a[i][j]与a[j][i]交换就可以了。

void covatrix(int *mtrx,int *mtrx1,int n,int k)//n为原矩阵的列数,k为原矩阵的行数
{
int i,j;
for(i=0;i<k;i++)
for(j=0;j<n;j++)
{mtrx1[j*k+i]=mtrx[i*n+j];}

}

#include <iostream.h>
void main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9};
int i,j,b;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<endl;
b=a[0][1];
a[0][1]=a[1][0];
a[1][0]=b;
b=a[0][2];
a[0][2]=a[2][0];
a[2][0]=b;
b=a[1][2];
a[1][2]=a[2][1];
a[2][1]=b;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
}


c语言编写一个程序分几步?
编写一个C语言程序通常包括以下步骤:定义变量:根据程序的需要,定义变量用于存储数据。变量可以是整型、字符型、浮点型等。编写代码:编写程序的主体代码,包括算法和逻辑操作等。编译程序:使用C语言编译器将源代码编译成可执行文件。运行程序:运行编译后的可执行文件,观察程序的输出结果。以下是一个简单...

c语言怎么开始编写程序
1、新建一个求1到100自然数之和项目。2、添加一个cpp文件。3、包含需要用到的头文件。4、输入main函数。5、定义两个变量,分别是:a和sum。6、使用while语句计算1到100之间所有自然数之和。7、运行程序,打印出结果。注意事项:C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性...

C语言如何编写程序?
1 写代码。这是最基础的一步,即实现C语言的源文件(.c,必需),和可能的头文件(.h,非必需)。2 编译。将编写好的代码,通过编译工具,转换为目标文件。此步中,会对文件内部及包含的头文件进行语法语义的分析检查。如果出错,则必须返回到1步对代码进行修改,直到没有错误为止。3 链接。将目标文件...

c语言如何编写程序
int main(){float a,b,c;printf("please enter number1:")scanf("%f",&a)printf("please enter number2:")scanf("%f",&b)c = (a+b)\/2;printf("the result is %.1f\\n",c);return 0;} C语言编写程序的方法:visual c++6.0 报错比较准确,但比较难用。是微软推出的一款编译器,是...

c语言程序开发需要哪些步骤?
开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。1、预处理:输入源程序并保存(.C文件)。2、编译:将源程序翻译为目标文件(.OBJ文件)。...

如何编写C语言程序?
1.打开桌面上的DEV_C++,进入如下界面:2.快捷键“CTRL+N”建立新源代码。3.输入源代码,下面给出最简单的Hello,world源代码:include <stdio.h> int main( ){ printf("Hello,World\\n");return 0;} 4.按下F11编译并且运行源代码,得到运行结果:5.点击任意键返回源代码编辑界面可以继续进行开发...

C语言编程题目
下面是一些C编程题目:1. 编写程序,从键盘输入两个整数,输出它们的和、差、积、商、余数。2. 编写程序,从键盘输入三角形的三条边长,判断它们是否可以构成三角形,并输出三角形的类型(等边、等腰、一般)。3. 编写程序,从键盘输入字符串,统计其中的大写字母、小写字母、数字和其他字符的个数,并...

c语言中的编辑,编译,连接,运行分别是什么意思
1、编辑:编写代码,制作C语言的源文件。2、编译:是由编译程序将C语言源文件转换成二进制中间文件,对文件内部的语法语义做处理,如果编译出错,无法进行后续动作。3、链接:将编译中生成的中间文件组合成二进制可执知行文件,这一步会对文件之间的关联做检查,如果出错,将不会生成可执行文件,也就无法...

c语言在哪里编写的程序??
c语言在Microsoft Visual Studio软件环境中编写程序。Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,通常c语言都是在Microsoft Visual Studio环境中编写。在Microsoft Visual Studio中编写程序做法:1、...

用C语言编写程序必须经过哪些步骤
C)编写C语言程序一般应该经历下面的几个基本步骤:确定程序要完成的目标和功能,进行分析和设计;编写程序;编辑、编译、链接程序;运行\/执行、测试和调试程序;程序的维护(修改程序中的Bug、完善和扩充程序的功能等)。对 D)C语言有很多种开发环境,如:BC、GCC、VC等。其中的Visual C++提供一个集编辑...

徽县18753856860: 用最简单的C++语言编程:一个3*3矩阵对角线元素之和.
幸陶博思: #include <iostream.h> int main() { double a[3][3]; int i,j; double sum=0; cout<<"input 3x3 matrix:"; for(i=0;i<3;i++) for(j=0;j<3;j++) cin>>a[i][j];for(i=0;i<3;i++) sum+=a[i][i];cout<<"sum="<<sum<<endl; }

徽县18753856860: 用c++编写程序,编写一个3*3矩阵转置的函数,在main()函数中输入数据 -
幸陶博思: 这个很简单了,直接声明一个二维数组,转置时只需将a[i][j]与a[j][i]交换就可以了.

徽县18753856860: 用c++编写一个3*3矩阵转置的函数,在main()函数中输入数据,并另外创建一个一维数组, -
幸陶博思: 1、打开vs2015,新建一个Windows Form窗体程序或者控制台都可以. 2、 定义一个名为array1的数组并赋值:double[,] array1 = new double[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };. 3、右键解决方案下的项目名,添加-类,创建一个名为“...

徽县18753856860: 编写一个3*3矩阵转置的函数 要求用到动态内存分配 用c++ -
幸陶博思: #include using namespace std; void reset(int**p) { int i,j,temp; for(i=0;i for(j=i;j {temp=*(*(p+i)+j); *(*(p+i)+j)=*(*(p+j)+i); *(*(p+j)+i)=temp;} } main() { int**p=new int*[3]; int i,j; cout for(i=0;i { p[i]=new int[3]; for(j=0;j cin>>*(*(p+i)+j); } reset(p); for(i=0;i { for(j=0;j cout cout } return 0; }

徽县18753856860: c++,C语言编程问题:求一个 3*3 矩阵对角线元素之和. -
幸陶博思: 假设矩阵的名字叫做a 初始化和的变量sum为0,使用一个简单的循环就能求和 #include "iostream"using namespace std;int main() {int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int sum = 0;for(int i = 0; i < 3; i++){sum += a[i][i];}cout << sum; }

徽县18753856860: 求编个C++程序:求3*3矩阵的第0行(以下标为行数)元素之和并输出. -
幸陶博思: #include<iostream> int main() { int a[3][3]={{3,2,1}, {4,5,6}, {8,7,9} }; int sum=0;for(int i=0; i<3; i++) sum+=a[0][i];//求和 cout<<sum<<endl; }

徽县18753856860: 用c++编写程序 求3乘3整数矩阵之和
幸陶博思: void main() { int i=0,j=0,a[i][j],b[i][j],n=3; long s=1; for(i=0;i<3;i++) { for(j=1;j<3;j++) s+=a[i][j]*b[i][j]; } }

徽县18753856860: 用VC++编个函数,将一个3*3的矩阵转置怎么编 -
幸陶博思: 简单的就用这个(只能用3*3的矩阵) void juzhenzhuanzhi(int a[][3]) { int i,j,temp; for(i=0; i<3; i++) for(j=i+1; j<3; j++) { temp=a[i][j]; a[i][j]=[j][i]; a[j][i]=temp; } } 好一点的用这个,求任意的矩阵转置!(其中a[m][n]就表示成: juzhenzhuanzhi(a, m,n) ) ...

徽县18753856860: 用二维数组,求一个3*3的整型矩阵对角线元素之和.用VC++6.0编程,求高手帮忙 -
幸陶博思: 这个简单啊!嘿嘿……你的错误是输入的语句,%c是字符的输入形式,而你定义的是int型,应该为%d.代码如下:#include void main() { int i,j,t=0,A[3][3]; for(i=0;i{for(j=0;j scanf("%d",A[i][j]); } for(i=0;i{ for(j=0;jif(I==j) t+=A[i][j]; } printf("%d\n",t); } 哦了 希望能帮助你!

徽县18753856860: 用C语言编程:求一个3*3的矩阵主对角线的元素之和. -
幸陶博思: #include<stdio.h> void main() { int a[3][3]; int i,sum1,sum2;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i]); sum1=a[0][0]+a[1][1]+a[2][2]; sum2=a[0][2]+a[1][1]+a[2][0]; printf("sum1=%d,sum2=%d",sum1,sum2); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网