(实验6)二维数组转置 函数调用

#include<stdio.h>
int main()
{
 void fun(int b[4][4]);
 int i,j,a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
 printf("原矩阵:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{printf("%5d",a[i][j]);
if(j<3)
printf(" ");
if(j==3)
printf("\n");
}
printf("转置后矩阵:\n");
fun(a);                                /*函数调用*/
return 0;
}
void fun(int b[4][4])
{
 int i,j;
 for(i=0;i<4;i++)
  for(j=0;j<4;j++)
  {
   b[j][i];
  printf("%5d ",b[j][i]);
  if(j==3)
   printf("\n");
  }
}

此类问题,不用函数更方便

时间: 2024-12-25 11:33:40

(实验6)二维数组转置 函数调用的相关文章

45.将3&#215;3二维数组转置,并输出

//1.定义一个3*3的二维数组//2.输入内容,并在屏幕中输出//3.运用for循环嵌套将数组转置,并输出 (1)我的程序:运用中间量交换 -错误版:转置算法有问题,需要好好模拟一下 #include<iostream> using namespace std; int main() { int temp; int a[3][3]; cout<<"please input 9 numbers: "<<endl; for(int i=0;i<3

Java实现二维数组转置的三种输出方法(IntelliJ IDEA 2017.2.6 x64)

1 import java.util.Arrays; 2 3 /** 4 * Created by Stefango at 9:54 on 2018/7/22 5 */ 6 public class Solution { 7 public static int[][] transpose(int[][] A) { 8 int R = A.length, C = A[0].length; 9 int[][] ans = new int[C][R]; 10 for (int r = 0; r < R

二维数组转置

#include<stdio.h>int main(){ int i,j,A,B; int n=1,m=1; int a[2][2];  for(i=0;i<2;i++){  for(j=0;j<2;j++){   printf("请输入第%d个数:",n);   scanf("%d",&a[i][j]);   n++;  }  printf("\n"); } for(i=0;i<2;i++){  for(j

编写一段代码,打印一个M行N列的二维数组转置。(交换行和列)

import edu.princeton.cs.algs4.*; public class No_1_1_13 { public static void main(String[] args) { int m=4; int n=3; int [][] a = new int[m][n]; for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { a[i][j]=i+j; StdOut.print(a[i][j]); } StdOut.println(); }

PHP二维数组矩形转置

<?php //二维数组转置 //定义一个二维数组 $arr =array(array(1,2,3),array(4,5,6)); //定义一个数组来放置转置的数据 $arr1=array(); //转置前遍历 echo "转置前:<br/>"; for($i=0;$i<count($arr);$i++){ for($j=0;$j<count($arr[$i]);$j++){ echo $arr[$i][$j]; } echo "<br/&

shell 模拟二维数组解析配置文件

前几日项目组内出shell OJ题进行练习, 题目大概为: 现有配置文件conf.ini如下,编写shell,输入title和key,输出其值, 如输入FIFO1 a1 ,则输出11 #this is a config file [FIFO1] a1=11 b1=12 c1=13 [FIFO2] a2=21 b2=22 c2=23 [FIFO3] a3=31 b3=32 c3=33 恰因这几日内在学习数组的用法,故使用shell来模拟二维数组,现博客之,以飨同学,共研讨. 注:本解法未考虑性能,

结对开发--四实现循环二维数组求最大子数组的和

一.实现思路 再上一个实验基础上加上环,我们实现环的思想是每一列依次向此替换,直至替换出能出现的所有的二维数组,再用上一个求最大子数组的方法全部实现 二.实验代码 package com.minirisoft; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util.Scanner; public class HuanTwoArray { public stat

二维数组求子数组之和最大值(首尾相接, 圆柱)

问题:求二维数组的子数组之和的最大值(首尾相接,即形成圆柱) 成员: 陈晨:负责代码复审和代码测试计划 王颖瑞:负责程序分析,代码编程 思路:对于这个问题,我们可以结合之前的实验(二维数组求子数组之和的最大值和首尾相连一维数组的子数组之和的最大值),把为二维数组的列扩大二倍,之后想一维数组(首尾相连)一样,把二维数组分成不同的几个二维数组.之后就分开求不同的二维数组的子数组的最大值,最后之间比较,求出总的最大值. 代码: #include<iostream> using namespace s

java 二维数组行列互换

代码需求: 对等行等列的二维数组进行 行列 的互换 分析过程 主对角线是保持不变 行列互换即角标互换:[0][1] => [1][0] 循环次数:外层循环行,内层循环每一行的列 示意图 代码实现 public class ArrayReverse { public static void main(String[] args) { int arry[][] = new int[][] {{1,2,3},{4,5,6},{7,8,9}}; reverse(arry); printArray(arr