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循环 遍历 求和
12         for(int i=0;i<arr.length;i++){
13             for(int j=0;j<arr[i].length;j++){
14                 sum+=arr[i][j];
15                 System.out.print(arr[i][j]+"\t ");
16             }System.out.println();
17         }System.out.println("二维数组所有元素的和="+sum);
18     //foreach 遍历 求和
19         /*for(int [] n:arr){
20             for(int ar:n){
21                 System.out.print(ar+"\t ");
22                 sum+=ar;
23             }
24             System.out.println();
25         }System.out.println("二维数组所有元素的和="+sum);*/
26     }
27     }

二,转置运算

 1 public class arr2 {
 2
 3
 4     public static void main(String[] args) {
 5         /* 对矩阵进行转置运算
 6         以左上到右下的斜线为轴
 7         轴上数字不变  左下角的数反转到右上角
 8         同理右上角的数转到左下角 对称旋转 转置运算完成*/
 9
10         //第一步  建立二维数组
11         int arr1[][]=new int[][]{{2,1,4,5},{6,4,2,1},
12                 {9,8,7,6},{4,6,8,1}};
13         System.out.println("转置前的矩阵是:");
14         printArray(arr1);//一句话输出矩阵二维数组
15
16
17         //第二步  建立第二个二维数组空间  把上一个二维数组长度套入
18         int arr2[][]=new int[arr1.length][arr1.length];
19
20         //第三步  for循环完成索引
21         for(int i=0;i<arr1.length;i++){
22             for(int j=0;j<arr1[i].length;j++){
23                 //二维数组 arr1赋值给空二维数组 arr2??
24                 arr2[j][i]=arr1[i][j];
25             }
26         }
27         System.out.println("转职后的矩阵是: ");
28         printArray(arr2); //一句话输出矩阵二维数组
29     }
30     private static void printArray(int[][] arr1)
31     //??? 怎么出现  是什么   为什么出现  出现什么用
32     {
33         //第四步  建立索引   遍历输出 赋值后的二维数组arr2
34         for(int i=0;i<arr1.length;i++){
35             for(int j=0;j<arr1[i].length;j++){
36                 System.out.print(arr1[i][j]+" ");
37             }System.out.println();
38         }
39     }
40
41 }

三,九宫格

 1 public class NineTable {
 2
 3     /*
 4      * 输出九宫格
 5      */
 6     public static void main(String[] args) {
 7         //
 8         int arr[][]=new int[3][3];
 9         int a =2;
10         int b =3/2;
11         // 为什么是3/2 ?
12         for(int i=1;i<=9;i++){
13             arr[a++][b++]=i;
14             if(i%3==0){
15                 a=a-2;
16                 b=b-1; //为什么?
17             }
18             else{
19                 a=a%3;
20                 b=b%3;
21             }
22         }System.out.println("输出九宫格:");
23         for(int i=0;i<3;i++){
24             for(int j=0;j<3;j++){
25                 System.out.print(arr[i][j]+"\t");
26             }System.out.print("\n");
27         }
28     }
29
30 }

时间: 01-08

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

二维数组遍历

问题描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 算法分析:可以直接遍历,不过时间复杂度太高,因为有序,可以从左下角查找,也可以从右上角查找. public class Array { //二维数组遍历 public boolean Find(int [][] array,int target) { for(int i = 0; i < array.length; i

作业九 二维数组和字符数组的应用

知识点: (1)二维数组的定义形式为: 类型名 数组名 [行长度] [列长度]; (2)引用二维数组的元素要制定两个下标,即行下标和列下标,形式为: 数组名 [行下标] [列下标] (3)行下标的合理取值范围是[0,行长度-1],列下标合理的取值范围是[0,列长度-1]. (4)分行赋初始值,一般形式为: 类型名 数组名 [行长度] [列长度]={{初值表0},-,{初值表k},-}; 然后可把初值表k中的数据一次赋值给第k行的元素. (5) 顺序赋初始值,一般形式为: 类型名 数组名 [行长度

0109作业练习二维数组

//创建二维数组 arr[][],将二维数组中所有元素的和输出 int [][]arr= {{7,8,9},{44,22,33},{41,25,68,78}};//建立arr的二维数组,初始化大小并赋值 int sum=0; //声明变量sum for(int[] n:arr){ //用foreach遍历数组 for(int m:n){ //再定义一个m ,将arr中的值通过n赋值给m,不可以直接输出n System.out.print(m+" ");//通过遍历输出数组中的数 sum

二维数组的练习----求和

声明一个二维数组: 分别用静态.动态初始化这个数组 求二维数组中的各个值得和 1 package com.baidu.java; 2 //练习1.获取二维数组中所有值得和 3 public class TestArrayLX1 { 4 public static void main(String[] args) { 5 int sum=0; 6 //1.静态声明: 7 //int[][] arr=new int[][]{{0,12,1},{0,2,0,0,2},{0,3}}; 8 //2.动态声

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

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

汇编学习:二维数组遍历

作为正式接触汇编的开篇,本文将研究二维数组的遍历问题.在图像处理中,通常需要遍历图像像素(即二维数组).下面给出三个版本的遍历函数,并研究他们的汇编代码(VC2010编译器,x86版,Release模式). (1)在两层循环内每次根据行列索引计算元素位置. (2)为了避免在内存循环内的乘法计算,可在每次外层循环中计算好行起始地址,内层循环每次执行++操作. (3)将外层循环的乘法操作也去掉,在循环外部先计算好数组的起始地址,内层循环每次执行++操作即可. 测试程序实现对图像的反相操作(即B=25

2016.05.31 周二 c++二维数组

大部分代码照着书上打的,自己修改写一些布局和数据后的成果如下 程序代码如下 #include<stdio.h>#include<string.h>#include <windows.h>#define N 4 void gotoxy(int x, int y) //定义gotoxy函数 (使光标移动到指定位置) {    int xx=0x0b;    HANDLE hOutput;    COORD loc;    loc.X = x;    loc.Y=y;   

二维数组的输出问题

#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))

19.把1~100存到二维数组a[10][10]中,并按二维矩阵形式输出

#include<iostream>using namespace std; int main(){    int a[10][10];    for(int i=0;i<10;i++)    {        for(int j=0;j<10;j++)        {            a[i][j]=i*10+j+1;//二维数组逻辑上还是一维数组的存储方式        }    }    for(int j=0;j<10;j++)    {        for