精华内容
下载资源
问答
  • 此程序是用C语言编写矩阵函数包(矩阵的加,减,乘,转置矩阵,逆矩阵),是一个完整的程序,复制后可以直接运行的。
  • printf("转置后的矩阵: "); for (i = 0;i ;i ) { for (j = 0;j ;j ) printf("%d ",a[i][j]); printf(" "); } return 0; } void zhuanzhi (int (*p)[3]) { int i,j,s = 1,g = 0; int (*z)[3]; z = p; for (i = 0;i ;...

    下面是我的代码错误为:('&' requires l-value) 我的思路:定义两个二维数组,用指针的方法将列元素赋值给对应的行元素,然后第二列再赋第二行以此列推 # include int main () { void zhuanzhi (int (*p)[3])

    下面是我的代码错误为:('&' requires l-value) 我的思路:定义两个二维数组,用指针的方法将列元素赋值给对应的行元素,然后第二列再赋第二行以此列推 # include int main () { void zhuanzhi (int (*p)[3]); int a[3][3],i,j; int (*p... 下面是我的代码错误为:('&' requires l-value)

    我的思路:定义两个二维数组,用指针的方法将列元素赋值给对应的行元素,然后第二列再赋第二行以此列推

    # include

    int main ()

    {

    void zhuanzhi (int (*p)[3]);

    int a[3][3],i,j;

    int (*p)[3];

    printf("请输入一个二维矩阵:

    ");

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

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

    scanf("%d",&a[i][j]);

    p = a;

    zhuanzhi (p);

    printf("转置后的矩阵:

    ");

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

    {

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

    printf("%d ",a[i][j]);

    printf("

    ");

    }

    return 0;

    }

    void zhuanzhi (int (*p)[3])

    {

    int i,j,s = 1,g = 0;

    int (*z)[3];

    z = p;

    for (i = 0;i < 3;i ,s )

    {

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

    * (z[i] j) = *(*(p j));

    p = & (p[g] s);

    }

    }

    怎么改?我p = & (p[g] s)的意图是将先将行指针转换成列指针加1,即把列往后移一个,然后谭浩强不是说列指针转换成行指针加&,行指针转换成列指针加*,所以我就把&当成*一样用了,结果就错误了怎么改?第二请大神再看看代码还有什么错误,一并改正谢谢 展开

    展开

    全部

    展开全文
  • 1141:C语言-转置矩阵

    2021-01-05 10:48:31
    写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。 输入格式 一个3x3的矩阵 输出格式 转置后的矩阵 输入样例 1 2 3 4 5 6 7 8 9 输出样例 1 4 7 2 5 8 3 6 9 多观察找找规律,考察对下标的...

    题目描述

    写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。

    输入格式

    一个3x3的矩阵

    输出格式

    转置后的矩阵

    输入样例

    1 2 3
    4 5 6
    7 8 9

    输出样例

    1 4 7
    2 5 8
    3 6 9

    多观察找找规律,考察对下标的掌握。

    #include<iostream>
    using namespace std;
    int main()
    {
        int arr[3][3];
        for(int i=0;i<3;i++)
        {
            for(int a=0;a<3;a++)
            {
                cin>>arr[i][a];
            }
        }
        for(int i=0;i<3;i++)
        {
            for(int a=0;a<3;a++)
            {
                cout<<arr[a][i]<<" ";
                if(a==2)
                {
                    cout<<endl;
                }
            }
        }
    }
    
    展开全文
  • C语言矩阵转置

    千次阅读 2020-04-02 19:09:29
    编写函数,求一个3×3矩阵的转置矩阵。 (1)编程提示 转置矩阵,将原矩阵的行变为列,列变为行。注意,通过指针访问二维数组时的方法。本题采用的是指向数组元素的指针变量。 输入样例: 1 2 3 4 5 6 7 8 9 输出...

    编写函数,求一个3×3矩阵的转置矩阵。
    (1)编程提示
    转置矩阵,将原矩阵的行变为列,列变为行。注意,通过指针访问二维数组时的方法。本题采用的是指向数组元素的指针变量。


    输入样例:

    1 2 3
    4 5 6
    7 8 9

    输出样例:
    1 4 7
    2 5 8
    3 6 9


    注意:此题输出的每行的最后一个数不能有空格
    #include <stdio.h>
    void Trans(int(*p)[3])
    {
    	int t, i, j;
    	for (i = 0; i < 3; i++)
    	{
    		for (j = 0; j < i; j++)
    		{
    			t = *(*(p + i) + j);
    			*(*(p + i) + j) = *(*(p + j) + i);
    			*(*(p + j) + i) = t;
    		}
    	}
    
    }
    void main()
    {
    	int a[3][3], i, j;
    	for (i = 0; i < 3; i++)//原矩阵输入
    	{
    		for (j = 0; j < 3; j++)
    		{
    			scanf("%d", &a[i][j]);
    		}
    	}
    	Trans(a);
    	for (i = 0; i < 3; i++)//转置输出
    	{
    		for (j = 0; j < 2; j++)
    		{
    			printf("%d ", a[i][j]);
    		}
            printf("%d",a[i][j]);	//每行最后一个数
    		printf("\n");
    	}
    }
    
    
    展开全文
  • C语言)指针转置矩阵

    千次阅读 2020-04-12 16:54:51
    2.编写函数,求一个3×3矩阵的转置矩阵。 (1)编程提示 转置矩阵,将原矩阵的行变为列,列变为行。注意,通过指针访问二维数组时的方法。本题采用的是指向数组元素的指针变量。 输入样例: 1 2 3 4 5 6 7 8 9 输出...

    2.编写函数,求一个3×3矩阵的转置矩阵。

    (1)编程提示

    转置矩阵,将原矩阵的行变为列,列变为行。注意,通过指针访问二维数组时的方法。本题采用的是指向数组元素的指针变量。

    输入样例:
    1 2 3
    4 5 6
    7 8 9

    输出样例:
    1 4 7
    2 5 8
    3 6 9
    代码如下
    #include<stdio.h>
    int main()
    {
    void move(int pointer);
    int a[3][3];
    int p,i;
    printf(“input matrix:\n”);
    for(i=0;i<3;i++)
    {
    scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);
    }
    p=&a[0][0];
    move§;
    printf(“Now,matrix:\n”);
    for(i=0;i<3;i++)
    {
    printf("%d%d%d\n",a[i][0],a[i][1],a[i][2]);
    }
    return 0;
    }
    void move(int pointer)
    {
    int i,j,t;
    for(i=0;i<3;i++)
    {
    for(j=i;j<3;j++)
    {
    t=
    (pointer+3
    i+j);
    (pointer+3i+j)=
    (pointer+3*j+i);
    (pointer+3j+i)=t;
    }
    }
    }

    展开全文
  • 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。 输入 一个3x3的矩阵 输出 转置后的矩阵 样例输入 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 2 5 8 3 6 9 来源/分类 C语言 题目截图: 思路: ...
  • 而*(p+j), 是指调用地址1012的内容, 用另一种常用的方法写你就会明白 *(p+j) 跟 p[j] 是同一个意思 同样*(*(p+j)+i) 跟 p[j][i] 也是同一个意思 再问: 大神 但是我的b[i][j]=*(*(p+j)+i) 就是将矩阵转置放入b数组里...
  • C语言:用函数调用实现矩阵转置

    千次阅读 2020-03-12 17:35:38
    } } printf("矩阵a为:\n"); for(i=0;i;i++){ for(j=0;j;j++){ printf("%4d",a[i][j]); } printf("\n"); } convert(a); printf("转置后为:\n"); for(i=0;i;i++){ for(j=0;j;j++){ printf("%...
  • 按如下函数原型编程计算并输出m×n阶矩阵的转置矩阵。 其中,m和n的值由用户从键盘输入。已知m和n的值都不超过10。 void Transpose(int (*a)[N], int (*at)[M], int m, int n); void InputMatrix(int (*a)[N], int m...
  • void TransArray(int arr[3][3]) //函数2:矩阵转置 { int i,j; for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d ",arr[j][i]); } printf("\n"); } } void main() //主函数 { ...
  • 按如下函数原型编程计算并输出n×n阶矩阵的转置矩阵。其中,n由用户从键盘输入。已知n值不超过10。 void Transpose(int (*a)[N], int n); void Swap(int *x, int *y); void InputMatrix(int (a)[N], int n); void ...
  • C语言实现常见的矩阵运算函数

    万次阅读 多人点赞 2015-12-19 15:58:24
    C语言 矩阵转置函数 矩阵加(减)法函数 矩阵乘法函数 矩阵求逆函数 矩阵乔里斯基分解函数
  • 矩阵运算 编写三个函数,分别计算3*3矩阵转置transposition、平均值mean、对角线元素之和sumDi。在主函数中调用这三个函数并输出结果。3*3矩阵的数值从键盘输入。</p>
  • 此程序用指针实现任意矩阵转置的子函数,先动态的开辟一段内存空间用以存放转置后的矩阵
  • C语言 写一函数,将一个3*3的整型矩阵转置 用指针

    千次阅读 多人点赞 2020-05-19 13:40:19
    #include<stdio.h> void convert(int (*p)[3]) { int i,j,temp; for(i=0;i<3;i++) for(j=0;j<i;j++) { temp=*(*(p+i)+j); *(*(p+i)+j)=*(*(p+j)+i); *(*(p+j)+i)=temp;... for(.
  •   <p>3、写一个函数(参数用二维数组的列指针)将一个3×3矩阵pa的转置矩阵存于pb中。原型:voidfun(int *pa,int *pb),并用主调函数调用该函数。</p>
  • /*写一函数,将一个3x3的整型矩阵转置,用指针实现*/#include #include #define SIZE 3int main(){int **a = (int **)malloc(sizeof(int *)*SIZE);//二维数组动态分配内存int i,j,t;for(i=0; i*(a+i) = (int *)...
  • //编写程序,实现矩阵转置(行列互换)。 1 #include <stdio.h> 2 #include <conio.h> 3 #include <stdlib.h> 4 5 void fun (int array[3][3]) 6 { 7 int i,j,t; 8 for (i =...
  • C语言数组转置,通过一维数组最后的一个单元用来作临时缓存单元(a[n*m]) 这个是在原有基础上移动次数和空间占用最小的方案 矩阵的头尾量,因为在数组中的位置都不改变,都是不需要移动的,很多就地转换忽略掉了这...
  • 按如下函数原型编程计算并输出n×n阶矩阵的转置矩阵。其中,n由用户从键盘输入。已知n值不超过10。 void Transpose(int *a, int n); void Swap(int *x, int *y); void InputMatrix(int *a, int n); void PrintMatrix...
  • 3*3矩阵转置 C语言

    千次阅读 2020-12-16 17:21:55
    编写一个函数(参数用指针)将一个3*3矩阵转置。 输入 输入一个3*3的矩阵,以二维数组的形式进行存储,如:[[1,2,3],[4,5,6],[7,8,9]],注意 输入是:1 2 3 4 5 6 7 8 9 输出 输出该矩阵转置,将其打印输出 样例 ...
  • 1. 利用函数调用,完成教材165页习题中的第7题(魔方阵) 魔方阵说明: 魔方阵是一个N*N的矩阵; 该矩阵每一行,每一列,对角线之和都相等; 3阶魔方阵 8 1 6 3 5 7 4 9 2 每一行之和: 8+1+6=15; 3+5+7=15; 4+9...

空空如也

空空如也

1 2 3 4 5 6
收藏数 105
精华内容 42
关键字:

c语言转置矩阵函数

c语言 订阅