鱼C论坛

 找回密码
 立即注册
查看: 1078|回复: 1

[已解决]二位数组(4×4)转置

[复制链接]
发表于 2023-11-14 09:10:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
自定义函数,是给定的一个二位数组(4×4)转置,即行列互换
不知道自定义的数组怎么表示,下边瞎打的运行不了
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int i,j;
    int a[4][4];
    int arr(int a[i][j]);
       for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
            arr(a[i][j]);
            printf("%d\n",a[i][j]);
        }
    }
    return 0;
}
int arr(int a[int x][int y])
{
    int x,y;
    for(x=0;x<4;x++)
    {
        for(y=0;y<4;y++)
        {
            a[y][x]=a[x][y];
        }
    }
    return(a[y][x]);
}
最佳答案
2023-11-14 09:10:35
#include <stdio.h>

void transpose(int a[4][4]) {
    int i, j, temp;
    for (i = 0; i < 4; i++) {
        for (j = i + 1; j < 4; j++) {
            temp = a[ i][j];
            a[ i][j] = a[j][ i];
            a[j][ i] = temp;
        }
    }
}

int main() {
    int i, j;
    int a[4][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};

    transpose(a);

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

    return 0;
}

这段代码实现了一个简单的二维数组(4×4)转置函数。在主函数中,我们定义了一个4×4的二维数组a,并初始化了它。然后调用transpose函数来对数组a进行转置操作。在transpose函数中,我们使用两层循环遍历数组a,并通过一个临时变量temp来实现行列互换。最后,我们在主函数中打印出转置后的数组a。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-14 09:10:35 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>

void transpose(int a[4][4]) {
    int i, j, temp;
    for (i = 0; i < 4; i++) {
        for (j = i + 1; j < 4; j++) {
            temp = a[ i][j];
            a[ i][j] = a[j][ i];
            a[j][ i] = temp;
        }
    }
}

int main() {
    int i, j;
    int a[4][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};

    transpose(a);

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

    return 0;
}

这段代码实现了一个简单的二维数组(4×4)转置函数。在主函数中,我们定义了一个4×4的二维数组a,并初始化了它。然后调用transpose函数来对数组a进行转置操作。在transpose函数中,我们使用两层循环遍历数组a,并通过一个临时变量temp来实现行列互换。最后,我们在主函数中打印出转置后的数组a。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 18:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表