今日头条--二维数组矩形输出

public class PrintArrayLoop {

public static void printArrayForLoopWay(int[][] arr) {        if (arr == null || arr.length == 0 || arr[0] == null || arr[0].length == 0) {            return;        }        int row = arr.length;        int column = arr[0].length;        int number = row > column ? (column - 1) : (row - 1);        int i = 0, j = 0;        for (int k = 0; k < number; k++) {            if (j > column - 1 - k) {                return;            }            for (j = k; j <= column - 1 - k; j++) {                System.out.printf(arr[i][j] + " ");            }            j--;            i = k + 1;            if (i > row - k - 1) {                return;            }            for (; i <= row - k - 1; i++) {                System.out.printf(arr[i][j] + " ");            }            i--;            j = column - k - 2;            if (j < k) {                return;            }            for (; j >= k; j--) {                System.out.printf(arr[i][j] + " ");            }            j++;            i = row - 2 - k;            if (i < k + 1) {                return;            }            for (; i >= k + 1; i--) {                System.out.printf(arr[i][j] + " ");            }            i++;            j++;        }    }

public static void main(String [] args){        int[][] arr=                {{1,2,3,4,5,6},{11,12,13,14,15,16},{21,22,23,24,25,26},{31,32,33,34,35,36},{41,42,43,44,45,46},{51,52,53,54,55,56}};        printArrayForLoopWay(arr);    }}

原文地址:https://www.cnblogs.com/mlz-2019/p/9516886.html

时间: 2024-08-29 07:20:14

今日头条--二维数组矩形输出的相关文章

2016/1/10 作业 1, 二维数组遍历输出求和 2,转置运算???? 3,九宫格?? 后两个存在问题

1 public class arr1 { 2 3 4 public static void main(String[] args) { 5 // 创建二维数组arr[][],输出二维数组所有元素的和. 6 7 int arr[][]={{1,3,5,7,9},{21,23,25,27,29}, 8 {12,14,16,18},{32,34,36,38}}; 9 int sum=0; 10 System.out.println("二维数组遍历"); 11 // for循环 遍历 求和

JavaScript二维数组矩形倒置(只针对矩形)

如图 想要对这个矩形排列的二维数组进行倒置 达到 9 8 2 0 9 4 2 0 6 1 -1 8 的效果, 思路:对矩形进行自上而下的遍历,即9 8 2 0 9 4 2 0 6 1 -1 8 遍历思路:arr.length=3;arr[0].leng=4; 以arr.length=3;为主for循环,进行遍历 代码 1.   var arr1=[[2,4,6,8],[8,9,0,-1],[9,0,2,1]];//数组  2.     for(var i=0;i<arr1.length;i++)

二维数组的输出--(指针输出 和 指针数组输出)

当我第一次看见数组指针和指针数组这两个名字的时候,我以为是一个东西呢,当看到英文解释就知道这两个是不一样的了. 指针数组:array of pointers,用于存储指针的数组,也就是数组元素都是指针 数组指针:a pointer to an array,指向数组的指针,数组可以是任意维的 下面举例说明: int a[3][4]   --->这个无需多说,就是一个二维数组. int (*p)[4]   --->就相当于int p[][4],它是一个二维数组的指针,可以指向一个第二维度为4的二维

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/&

php,二维数组的输出出现了问题,提示:Notice: Array to string conversion

<?php $arr=array(array("111","222","333"),array("444","555","666")); print_r("{$arr[0][1]}"); ?> 这样就可以了,多维数组.以及下标不是简单数值的数组,都需要{}起来. 将数据传递到javascript中时同样适用

二维数组对角线输出

1. 数组形式如下 a[3][3]={11, 2, 3    10, 8, 9 5,  7, 6}; 输出形式如下: 3,2,9,11,8,6,10,7,5 2. 实现 void printf_test() { int istart=0; int jstart=n-1; //该处的n=3 for(int i=istart,j=jstart;  i<=n-1,j<=n-1; i++,j++ ) { cout<<a[i][j]; if(jstart>0) jstart--; el

二维数组可以输出-1号元素

#include<stdio.h>#include<string.h>int main(){ int arr[2][13]; memset(arr,0,sizeof(arr)); for(int i=0;i<10;i++) printf("%d ",arr[1][i]); printf("\n"); printf("%d",arr[1][-1]); return 0;} 输出 0:

将字符串中的单词分割,存入二维数组后输出

思路 每次内部循环需要找到一个单词,将其存入数组.外循环遍历至字符串末尾结束. 代码 /************************************************************************* > File Name: word_split.c > Author: KrisChou > Mail:zhoujx0[email protected] > Created Time: Sun 24 Aug 2014 10:42:48 AM CST

二维数组的输出问题

#include<stdio.h> #include<windows.h> int main() { int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int b[5]={1,2,3,4,5}; printf("%d,%d\n",a,*a);//0行首地址和0行0列元素地址 printf("%d,%d\n",b,*b); printf("%d,%d\n",a[0],(*(a+0))