精华内容
下载资源
问答
  • 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语言 写一函数,将一个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(.
    #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;
     	 }
    }
    int main()
    {
    	int a[3][3];
    	int (*p)[3],i,j,temp;
    	p=a;
    	for(i=0;i<3;i++)
    	 for(j=0;j<3;j++)
    	 scanf("%d",&a[i][j]);
        convert(p);
        printf("after convert:\n");
        for(i=0;i<3;i++)
         {
         	for(j=0;j<3;j++)
    	    printf("%d ",*(*(p+i)+j));
         	printf("\n");
         } 
    	 return 0; 
    }

     

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

    下面是我的代码错误为:('&' 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,即把列往后移一个,然后谭浩强不是说列指针转换成行指针加&,行指针转换成列指针加*,所以我就把&当成*一样用了,结果就错误了怎么改?第二请大神再看看代码还有什么错误,一并改正谢谢 展开

    展开

    全部

    展开全文
  • 目的:写一个函数,将一个3×3的整型矩阵转置(指针函数) 功能:指针函数的基础应用 */ #include<stdio.h> #define N 3//N为多少都是一样的 void zz(int(*)[N],int(*)[N]);//定义转制函数 int main...

    将数组里的元素由横向转为竖向

    /*
     时间:2019/12/14
     目的:写一个函数,将一个3×3的整型矩阵转置(指针加函数) 
     功能:指针加函数的基础应用 
    */
    #include<stdio.h>
    #define N  3//N为多少都是一样的 
     void zz(int(*)[N],int(*)[N]);//定义转制函数 
    
    int main()
    {
     int a[N][N]={1,2,3,4,5,6,7,8,9};
     int b[N][N];//存放转制后的数组 
     zz(a,b);
    }
    
    void zz(int(*a)[N],int(*b)[N])
    {
     int i,j;
     for(i=0;i<N;i++)
     {
      for(j=0;j<N;j++)
      {
       b[j][i]=a[i][j];
      }
     }
     for(i=0;i<N;i++)
     {
      for(j=0;j<N;j++)
      {
       printf("%d\t",b[i][j]);
      }
      printf("\n");
     }
    }
    
    /*
    总结:定义数组b[][]就很灵性 
    -----------------------
    在dev中输出结果为 
    1       4       7
    2       5       8
    3       6       9              正确 
    ----------------------- 
    */ 
    展开全文
  • /*写一函数,将一个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 *)...
  • C语言指针转置矩阵

    千次阅读 2020-04-12 16:54:51
    2.编写函数,求一个3×3矩阵转置矩阵。 (1)编程提示 转置矩阵,将原矩阵的行变为列,列变为行。注意,通过指针访问二维数组时的方法。本题采用的是指向数组元素的指针变量。 输入样例: 1 2 3 4 5 6 7 8 9 输出...
  • (指针的方法处理)写一个函数,将一个3×3的整型矩阵转置
  • 用指向一维数组的指针变量即二维数组的行指针作为函数参数,实现矩阵转置。 按如下函数原型编程计算并输出m×n阶矩阵的转置矩阵。 其中,m和n的值由用户从键盘输入。已知m和n的值都不超过10。 void Transpose(int (*...
  • 此程序用指针实现任意矩阵转置的子函数,先动态的开辟一段内存空间用以存放转置后的矩阵
  • // 宣告了五个int的指针int a0[5], a1[5], a2[5], a3[5], a4[5]; // 宣告了五个数组, 每数组含5个inta[0]=&(a0[0]); // 把相对应数组的地址写入a[n]指针a[1]=&(a1[0]);a[2]=&(a2[0]);a[3]=&(a3[...
  • 题目:写一函数,将一个3×3的整形矩阵转置。 #include&lt;stdio.h&gt; int main() { void move(int *s); int a[3][3];int i=0; int *p=&amp;a[0][0]; printf("请输入一个3*3的数组:\n"...
  • 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 输出 输出该矩阵的转置,将其打印输出 样例 ...
  • /*一题目叙述:个 4 * 4 数组 a 进行矩阵转置 输出格式 完整的目标矩阵 ...//这两个函数都是矩阵转置函数,但是他们的实现方式不同, //一个是传统方式,一个是用指针解引用的形式 void convert2(int a[4][4])
  • C语言指针实现矩阵转置

    千次阅读 2020-11-14 16:42:27
    编写一个函数 void transpose(int (*matrix)[10], int n),实现对一个矩阵的前n行和前n列转置。先在主函数中初始化如下矩阵,然后输入n(n<10),调用transpose函数前n行n列的转置。 1 3 5 7 9 6 5 4 3 2 2 4 6 8 ...
  • 按如下函数原型编程计算并输出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...
  • 编写函数实现矩阵(4行4列)的转置。要求函数的实参为数组名,形参为指针形式。
  • 编写一个函数 void transpose(int (*matrix)[10], int n),实现对一个矩阵的前n行和前n列转置。先在主函数中初始化如下矩阵,然后输入n(n<10),调用transpose函数前n行n列的转置。 1 3 5 7 9 6 5 4 3 2 2 4 6 8 ...
  • ①实参做二维数组传递首地址时,形参定义为指向数组的指针,int (*p)[n] #include "stdio.h" void main() { void reverse(int (*p)[3]); int a[3][3]; int i,j; printf("input array:\n"); for(i=0;i<3;i++)...
  • C语言习题08_指针

    2021-01-23 14:42:50
    编写函数,实现将一个 3×3 的矩阵转置。 矩阵输入及输出都在主函数中完成。 输入描述 输入一个 3×3 的 int 型整数 输出描述 输出转置矩阵 输入样例 23 42 44 16 35 81 25 14 45 输出样例 23 16 25 42 35 14 44 81 ...
  •   <p>3、写一个函数(参数用二维数组的列指针)将一个3×3矩阵pa的转置矩阵存于pb中。原型:voidfun(int *pa,int *pb),并用主调函数调用该函数。</p>
  • 昨天最后一道转置矩阵没能用二维数组函数传递实现,今天补上,第一个为正确的写法,第二个为找错误原因在原来的基础上修改成3*3数组转置
  • 调用矩阵转置函数,对该矩阵进行转置操作;当输入3时,将该矩阵上三角所有元素值变成0;当输入4时,求该矩阵对角线所有元素的平均值;当输入5时,将该矩阵副对角线元素变成1,当输入0时,...
  • C语言上机作业7

    2021-05-29 14:13:14
    当输入2时,调用矩阵转置函数,对该矩阵进行转置操作;当输入3时,将该矩阵上三角所有元素值变成0;当输入4时,求该矩阵对角线所有元素的平均值;当输入5时,将该矩阵副对角线元素变成1,当输入0时,退出程序。 .....
  • c语言经典案例

    2014-10-30 08:06:57
    实例107 矩阵转置 139 实例108 设计魔方阵 141 实例109 字符升序排列 142 实例110 在指定位置插入字符 144 实例111 删除字符串中的连续字符 146 实例112 统计各种字符个数 147 实例113 字符串替换 148 实例114 ...
  • 实例145 求一个n阶方阵的转置矩阵 366 实例146 按字母顺序输出批处理文件 368 实例147 字符的叠加 370 实例148 枚举元素 373 实例149 ASCII码文件的存储与输出 375 实例150 创建一个新链表 377
  • 4.7 矩阵转置运算 4.8 矩阵的乘法运算 4.9 巧用位运算 4.10 文件的读写 4.11 计算文件的大小 4.12 记录程序的运行时间 4.13 十进制/二进制转化器 4.14 打印特殊图案 4.15 打印杨辉三角 4.16 复杂级数的前n项和 ...

空空如也

空空如也

1 2
收藏数 35
精华内容 14
关键字:

c语言矩阵转置函数指针

c语言 订阅