编写一段代码,打印一个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();
        }

        int [][]b = new int [n][m];

        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                b[i][j]=a[j][i];
                StdOut.print(b[i][j]);
            }
            StdOut.println();
        }
    }
}

以下是打印结果(在eclipse中运行)

原文地址:https://www.cnblogs.com/qinmin/p/12268371.html

时间: 2024-10-04 07:16:30

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

JavaSE7基础 定义二维数组 不固定的列数 固定的行数

版本参数:jdk-7u72-windows-i586注意事项:博文内容仅供参考,不可用于其他用途. 代码 class Demo{ public static void main(String[] args){ //在初始化的时候,只是确定有多少行 int[][] myArr1=new int[3][];//三行不确定列 myArr1[0]=new int[]{1,2,3,4,5}; myArr1[1]=new int[]{1,2,3}; myArr1[2]=new int[]{1,2,3,6,7

如何用一层for循环打印出一个二维数组

常规通过两层for循环可以比较轻松打印二维数组. 代码如下: #include <stdio.h> #define ROWS 3 #define COLS 3 int main() { int a[ROWS][COLS]={1,2,3,4,5,6,7,8,9}; for(int i=0;i<ROWS;i++) { for(int j=0;j<COLS;j++) printf("%d ",a[i][j]); printf("\n"); } re

C#中如何获取一个二维数组的两维长度,即行数和列数?以及多维数组各个维度的长度?

如何获取二维数组中的元素个数呢? int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组int row = array.Rank;//获取维数,这里指行数int col = array.GetLength(1);//获取指定维度中的元素个数,这里也就是列数了.(0是第一维,1表示的是第二维)int col = array.GetUpperBound(0)+1;//获取指定维度的索引上限,在加上一个1就是总数,这里表示

[CareerCup] 13.10 Allocate a 2D Array 分配一个二维数组

13.10 Write a function in C called my2DAlloc which allocates a two-dimensional array. Minimize the number of calls to malloc and make sure that the memory is accessible by the notation arr[i][j]. 这道题让我们写个C语言函数my2DAlloc用来给一个二维数组分配内存,并且让我们尽可能的少调用malloc

获取二维数组里面实际存有数据的行数

写程序时遇到需要获取二维数组里面实际存有数据的行数,看到几篇博客中获取数组行数用的居然是array.Rank方法.这是获取维度的方法啊,我在下面贴出了我找到的正确的方法,很实用. /// <summary> /// 获取二维数组里面实际存有数据的行数 /// </summary> public static List<int> GetHasValueRowIndex(string[,] arr) { var hasValueRowIndex = new List<

剑指offer系列——二维数组中,每行从左到右递增,每列从上到下递增,设计一个算法,找其中的一个数

题目:二维数组中,每行从左到右递增,每列从上到下递增,设计一个算法,找其中的一个数 分析: 二维数组这里把它看作一个矩形结构,如图所示: 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15 在做这道题的时候我最先考虑的是每次比较对角线上的元素可能可以取得较好的效果, 以查找9为例, 从1(0,0)开始,1<10,可以得出结论,10在1的右侧或下侧: 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15 然后看4(1,1),4<9, 1 2 8 9 2

【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都依照从左到右的递增的顺序排序,输入这种一个数组和一个数,推断数组中是否包括这个数

// 二维数组中的查找,杨氏矩阵在一个二维数组中.每行都依照从左到右的递增的顺序排序. // 每列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个数组和一个数.推断数组中是否包括这个数 #include <stdio.h> #define col 4 #define rol 4 int yang(int(*p)[col], int num) { int i = 0; int j = col - 1; while (j+1) { int *q = &(p[i][j]); if

44.从键盘输入12个数存入二维数组a[3][4]中,编写程序求出最大元素的值及它所在的行号和列号

//1.建立二维数组 //2.运用循环,将内容输入到数组中 //3.求出最大元素,并输出行号和列号 #include<iostream> using namespace std; int main() { int a[3][4]; int Max=0;//赋值之前需要先置为0 cout<<"please input 12 numbers: "<<endl; for(int i=0;i<3;i++)//嵌套循环,用于向二维数组中输入内容 { fo

一个for循环打印二维数组

#include<stdio.h> #define MAXX 2 #define MAXY 3 void printarray() { int Arr[MAXX][MAXY] = {1,2,3,4,5,6}; for(int i = 0;i< MAXX*MAXY;i++) { printf("%d\n",Arr[i/MAXY][i%MAXY]); ///注意,一直没管MAXX什么事,在计算这一类的时候,最容易出问题 } } 一个for循环打印二维数组