精华内容
下载资源
问答
  • C语言二维数组转置

    千次阅读 2014-11-12 11:29:56
    # include # include # define N 4 int main (void) {  int i,j,temp;  int a[N][N];  srand((unsigned)time(NULL));  for (i=0;i  {  

    # include <stdlib.h>
    # include <time.h>
    # define N 4
    int main (void)
    {
            int i,j,temp;
            int a[N][N];
            srand((unsigned)time(NULL));
            for (i=0;i<N;i++)
                    {
                            for (j=0;j<N;j++)
                                    {
                                            a[i][j]=rand()%100+1;
                                    }
                    }

            for (i=0;i<N;i++)
                    {
                            for (j=0;j<N;j++)
                                    {
                                            printf("%4i",a[i][j]);
                                    }
                            printf("\n");
                    }

            for (i=0;i<N;i++)
                    {
                            for (j=i+1;j<N;j++)

     

                                  {
                                            temp = a[i][j];
                                            a[i][j] = a[j][i];
                                            a[j][i] = temp;

                                    }
                            printf("\n");
                    }
            for (i=0;i<N;i++)
                    {
                            for (j=0;j<N;j++)
                                    {
                                            printf("%4i",a[i][j]);
                                    }
                            printf("\n");
                    }
    return 0;
    }

     

    测试结果:

      

    [root@localhost Gcc]# ./a.out
      53  70  26   8
      30  17  44  37
      85  19  86  21
      51  22  10  11

      53  30  85  51
      70  17  19  22
      26  44  86  10
       8  37  21  11

     

    展开全文
  • C语言 二维数组转置之函数调用

    千次阅读 2014-11-12 12:00:42
    出现的问题在于 int convert(int a[])的函数参数,这是二维数组,所以参数应该是二维的 正确的是int convert(int a[N][N]) 这是修改后的程序: # include # include # include # define N 4 int...

    # include <stdio.h>
    # include <stdlib.h>
    # include <time.h>
    # define N 4
    int main (void)
    {
            int i,j,temp;
            int a[N][N];
            srand((unsigned)time(NULL));
            for (i=0;i<N;i++)
                    {
                            for (j=0;j<N;j++)
                                    {
                                            a[i][j]=rand()%100+1;
                                    }
                    }

            for (i=0;i<N;i++)
                    {
                            for (j=0;j<N;j++)
                                    {
                                            printf("%4i",a[i][j]);
                                    }
                            printf("\n");
                    }

                    convert(a);

                       

    for (i=0;i<N;i++)
                    {
                            for (j=0;j<N;j++)
                                    {
                                            printf("%4i",a[i][j]);
                                    }
                            printf("\n");
                    }
    return 0;
    }


    int convert(int a[])
            {
            int i,j,temp;
            for (i=0;i<N;i++)
                    {
                            for (j=i+1;j<N;j++)
                                    {
                                            temp = a[i][j];
                                            a[i][j] = a[j][i];
                                            a[j][i] = temp;
                                    }
                    }
            }
                                 

    用Gcc编译之后,在子程序中出现了报错。

    [root@localhost Gcc]# gcc 1-1.c
    1-1.c: In function ‘convert’:
    1-1.c:49: error: subscripted value is neither array nor pointer
    1-1.c:50: error: subscripted value is neither array nor pointer
    1-1.c:50: error: subscripted value is neither array nor pointer
    1-1.c:51: error: subscripted value is neither array nor pointer

    出现的问题在于 int convert(int a[])的函数参数,这是二维数组,所以参数应该是二维的

    正确的是int convert(int a[N][N])

    这是修改后的程序:

    # include <stdio.h>
    # include <stdlib.h>
    # include <time.h>
    # define N 4
    int main (void)
    {
            int i,j,temp;
            int a[N][N];
            srand((unsigned)time(NULL));
            for (i=0;i<N;i++)
                    {
                            for (j=0;j<N;j++)
                                    {
                                            a[i][j]=rand()%100+1;
                                    }
                    }

            for (i=0;i<N;i++)
                    {
                            for (j=0;j<N;j++)
                                    {
                                            printf("%4i",a[i][j]);
                                    }
                            printf("\n");
                    }

                    convert(a);
                  

         printf("*************************\n");

            for (i=0;i<N;i++)
                    {
                            for (j=0;j<N;j++)
                                    {
                                            printf("%4i",a[i][j]);
                                    }
                            printf("\n");
                    }
    return 0;
    }


    int convert(int a[N][N])
            {
            int i,j,temp;
            for (i=0;i<N;i++)
                    {
                            for (j=i+1;j<N;j++)
                                    {
                                            temp = a[i][j];
                                                               

                              }
                    }
            }
                              

     

    测试结果:

    [root@localhost Gcc]# ./a.out
      34  77  72  13
      19  40   4  79
      84  21  26  63
       9   3  52  56
    *************************
      34  19  84   9
      77  40  21   3
      72   4  26  52
      13  79  63  56

     

    展开全文
  • # include # include # include # define N 4 int main (void) {  int a[N][N];  CreateArray(a);  PrintArray(a);  Convert(a);  printf

    # include <stdio.h>
    # include <stdlib.h>
    # include <time.h>
    # define N 4
    int main (void)
    {
            int a[N][N];
                    CreateArray(a);
                    PrintArray(a);
                    Convert(a);
            printf("*************************\n");
                    PrintArray(a);
    return 0;
    }
    int CreateArray(int a[N][N])
    {
            int i,j,temp;
            srand((unsigned)time(NULL));
            for (i=0;i<N;i++)
                    {
                            for (j=0;j<N;j++)
                                    {
                                            a[i][j]=rand()%100+1;
                                    }
                    }

    }

    int Convert(int a[N][N])
            {
            int i,j,temp;
            for (i=0;i<N;i++)
                    {
                            for (j=i+1;j<N;j++)
                                    {
                                            temp = a[i][j];
                                            a[i][j] = a[j][i];
                                            a[j][i] = temp;
                                    }
                    }
            }

    int PrintArray(int a[N][N])
    {
            int i,j;
            for (i=0;i<N;i++)
                    {
                            for (j=0;j<N;j++)
                                    {
                                            printf("%4i",a[i][j]);
                                    }
                            printf("\n");
                    }
    }
      测试结果:

    [root@localhost Gcc]# ./a.out
      31  86  25  95
      26  27  77  58
      75  89  26  68
      67  97  57  17
    *************************
      31  26  75  67
      86  27  89  97
      25  77  26  57
      95  58  68  17                 

     

     

    展开全文
  • C语言——二维数组转置

    千次阅读 2020-04-07 16:01:28
    C语言——二维数组转置 问题描述: 输入一个二行三列的数组,把它转置成三行二列的数组。 代码: # include <stdio.h> int main() { int a[2][3]; int b[3][2]; int i, j; for(i = 0;i < 2; ++i) {...

    C语言——二维数组转置

    问题描述:

    输入一个二行三列的数组,把它转置成三行二列的数组。

    代码:

    # include <stdio.h>
    
    int main()
    {
    	int a[2][3];
    	int b[3][2];
    	int i, j;
    	
    	for(i = 0;i < 2; ++i)
    	{
    		for(j = 0;j < 3; ++j)
    		{
    			scanf("%d", &a[i][j]);
    		}
    	}
    	for(i = 0;i < 2; ++i)
    	{
    		for(j = 0;j < 3; ++j)
    		{
    			b[j][i] = a[i][j];
    		}
    	}
    	for(i = 0;i < 2; ++i)
    	{
    		for(j = 0;j < 3; ++j)
    		{
    			printf("%d ", a[i][j]);
    		}
    		printf("\n");
    	}
    	for(i = 0;i < 3; ++i)
    	{
    		for(j = 0;j < 2; ++j)
    		{
    			printf("%d ", b[i][j]);
    		}
    		printf("\n");
    	}
    	
    	return 0;
    }
    
    展开全文
  • }//这个指针形式的二维数组的输入可以考虑考虑成三个一维数组。 } ///程序填空,请将该函数填写完整 } void transpose(int *p) { int i,j=0; int t[9]; for(i=0,j=0;i;i++,j++){ t[j]=*(p+j); } *p=t[0]; *(p+1)=t...
  • C语言二维数组转置

    千次阅读 2016-05-20 17:21:54
    #include #include #define LINE 3 #define COLUMN 3 //3x3二维数组转置 int a[LINE][COLUMN]={}; void arr_trace(int *parr){ int i=0,j=0; for(i=0;i;i++){ for(j=0;j;
  • 解题思路:程序分输入 转置 输出三部分 逐一完成对应部分即可注意事项:注意输出时的格式控制。我提供的代码具有比较好的泛用性,稍加改变即可处理任意阶矩阵。参考代码:#include#define max 3int a[max][max];void ...
  • C语言关于二维数组转置

    千次阅读 2020-04-26 23:46:30
    #include<stdio.h> #include<time.h> #include<stdlib.h> void main() { int a[4][6],b[6][4],i,j; srand((unsigned)time(NULL)); printf("resource array:\n\n"); for(i=0;... ...
  • C语言二维数组和选择排序》.ppt二维数组 上次课程回顾 1.一维数组的定义,初始化 2.冒泡排序算法 本次课内容 掌握二维数组的定义、初始化掌握二维数组的定义、初始化 掌握二维数组的存储及应用掌握二维数组的存储及...
  • C语言3X3二维数组转置

    千次阅读 2018-05-14 22:34:50
    #include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int main(){ int a[3][3]; int j,i,temp; for(i=0;i&lt;3;i++) for(j=0;j&lt;3;j++) scanf("%1d"...i++) for(j...
  • C语言程序:编写一个函数,使给定的一个二维数组(3*3)转置。感激不尽答案:5信息版本:手机版解决时间 2019-10-06 05:35已解决2019-10-05 10:18求C语言程序:编写一个函数,使给定的一个二维数组(3*3)转置。...
  • C语言 实在 矩阵的乘法 加法 转置 各个子涵数都有通用性,内存的分配是使用二维数组动态 malloc 分配
  • 目的:用二维数组输出下面成绩希望你可以成为第五名童鞋!代码:#includeint main(){/* 创建一个带有 4行 5 列的数组 */int a[4][5] = {{80,92,85,86,99},{78,65,89,70,99},{67,78,76,89,99},{88,68,98,90,99}};int ...
  • 二维数组转置

    2020-02-05 15:35:00
    二维数组转置* 题目: 输入一个n行m列的数组,输出他的转置,具体来说: 输出的第i行第j个数字,应是输入的第j行第i个数字。 1 <= n <= 100 1 <= m <= 100 1 <= aiijj <= 1000 Input: 第一行两个...
  • 无意间看到这个问题,平时对位数组和多维数组接触也比较少,就尝试了一下,挺简单的。O(∩_∩)O~~#includeintmain(void){inti,j;intarr[2][3]={{1,2,3},{4,5,6}};printf("两行三列:\n");for(i=0;i{for(j=0;j{...
  • 二维数组就是在一维数组的基础上加上了行列概念,类似于: 一个3x3的数组:(可以通过线性代数来理解) 1 2 3 3 1 1 2 3 4 二维数组的引用: 数组名[行下标][列下标] 例 从键盘上输入一个3x3的矩阵,将其保存到二位...
  • C语言-《二维数组和选择排序》.ppt二维数组,上次课程回顾,本次课内容,掌握二维数组的定义、初始化掌握二维数组的存储及应用掌握选择排序的算法,教材对应P106113,4,二维数组,一、定义格式,类型标识符 数组名行下标 列...
  • 使用函数对4*4的二维数组转置

    千次阅读 2020-05-25 17:57:22
    《程序设计基础-c语言》杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p240 习题7 4.编写一函数,实现将给定的一个4*4的二维数组转置,即行列转换
  • 二维数组,矩阵问题,总结一下。 这里一如既往的使用随机数组,免得一直用键盘输入冗长的数据,避免了麻烦。 一、实现矩阵转置 1.原理 什么是矩阵转置?如下图。 就是把矩阵的行转换为列,第n行变成了第n列。 在编程...
  • 今天主要对二维数组的例题加深理解了一下:敲了敲代码,发现的问题都一一请教了cc哥。在此,再次感谢cc哥超有耐心的回答我一系列fool problems; #define命令可以定义数组大小,例如上一次笔记中提到的转置矩阵问题...
  • void Transpose(int (*p1)[N],int (*p2)[N],int r,int c) //转置函数 { int i,j; for(i=0;i<r;i++) for(j=0;j<c;j++) p2[j][i]=p1[i][j]; } int main() { int sz1[M][N],sz2[N][M],
  • #include<iostream>usingnamespacestd;intmain(){inta[4][3];intMax=0;...i++)//嵌套循环,用于向二维数组中输入内容{for(intj=0;j;j++){cin>>a[i][j];}}for(intm=0;m...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,489
精华内容 995
关键字:

c语言二维数组转置

c语言 订阅