平面图形题(二维数组)

 1 package tuxing;
 2
 3
 4 //平面图形题(二维数组)
 5
 6
 7 public class tuxing1 {
 8    public static void main(String[] args)
 9    {
10
11
12        int arr[][]=new int[3][9];
13        int x=2;
14        int y=0;
15        boolean order=false;
16        for(int i=1;i<=9;i++)
17        {
18            arr[x][y]=i;
19            y++;
20            if(!order)
21            {
22                x--;
23            }
24            if(order)
25            {
26                x++;
27            }
28            if(x<0)
29            {
30                order=true;
31                x=x+2;
32            }
33            if(x>2)
34            {
35                order=false;
36                x=x-2;
37            }
38        }
39        for(int i=0;i<arr.length;i++)
40        {
41            for(int j=0;j<arr[i].length;j++)
42            {
43                if(arr[i][j]==0)
44                {
45                    System.out.print(" ");
46                }
47                else
48                {
49                        System.out.print(arr[i][j]);
50
51                }
52            }
53            System.out.println();
54
55        }
56
57
58    }
59
60 }
 1 package tuxing;
 2
 3
 4 //平面图形题(二维数组)   可变长度!!!!
 5
 6
 7 public class tuxing1 {
 8    public static void main(String[] args)
 9    {
10        int num=40;
11        int hight=num/4+1;
12        int weight=num;
13        int arr[][]=new int[hight][weight];
14        int x=hight-1;
15        int y=0;
16        boolean order=false;
17        for(int i=1;i<=num;i++)
18        {
19            arr[x][y]=i;
20            y++;
21            if(!order)
22            {
23                x--;
24            }
25            if(order)
26            {
27                x++;
28            }
29            if(x<0)
30            {
31                order=true;
32                x=x+2;
33            }
34            if(x>hight-1)
35            {
36                order=false;
37                x=x-2;
38            }
39        }
40        for(int i=0;i<arr.length;i++)
41        {
42            for(int j=0;j<arr[i].length;j++)
43            {
44                if(arr[i][j]==0)
45                {
46                    System.out.print("  ");
47                }
48                else
49                {
50                    if(x<10)
51                        System.out.print(arr[i][j]+" ");
52                    else
53                        System.out.print(arr[i][j]);
54
55                }
56            }
57            System.out.println();
58
59        }
60
61
62    }
63
64 }
时间: 2024-11-06 09:43:35

平面图形题(二维数组)的相关文章

《剑指Offer》算法题——二维数组查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. class Solution { public: bool Find(vector<vector<int> > array, int target) { int col = array.size(); int i = 0; while (i < col) { int j = array[i].size()

剑指offer刷题—二维数组的查找

最近接触到一本书叫做剑指offer,在这里准备在这个2个月左右将这本书刷完,当然,不需要每天多少道什么的,不在多,一天理解一道就好了,希望能成为一种习惯,另外,准备在github上也进行同步分享. 今天第一道题: 面试题3:二位数组中的查找 当我们需要解决一个复杂问题时,一个很有效的方法就是从具体的问题出手,通过分析具体的例子,得到规律. 再一个二维数组中,每一行都要按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排列.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含

[编程题]二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 备注: 因为之前学的是java,js是刚学不久,所以今天这道题让我重新了认识了数组在js中的存在形式(下面这张图用来自己记忆js中数组的结构): 这道题的思路: 举例: [1,2,3,4] [3,5,7,9] 假设二维数组是arr[x][y],要判断的整数是target=4,从最后一行第一个数开始比较,a

【剑指offer】 第三题 二维数组查找

package javaTrain; public class offer3 { public static void main(String args[]) { int[][] a = {{0,1,2,3},{1,2,3,4},{2,3,4,5},{6,7,8,9}}; System.out.println(find(a,10)); } public static boolean find(int[][] a,int num) { if(a == null) return false; int

golang 算法题 : 二维数组搜索值

package main import "fmt" func main() { matrix := [][]int{ {1, 4, 7, 11, 15}, {2, 5, 8, 12, 19}, {3, 6, 9, 16, 22}, {10, 13, 14, 17, 24}, {18, 21, 23, 26, 30}, } exist := searchMatrix(matrix, 5) fmt.Println("exit", exist)} func searchM

剑指offer_快速查找递增二维数组中是否存在目标

[编程题]二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 完整通过代码: public class ArrayFind { public static void main(String[] args){ int a[][]={{1,2,3},{4,5,6},{7,8,9}}; System.out.println(Find(a,7)); } public sta

编程题:指向二维数组元素的指针变量。功能:已知二维数组a[2][3],输入输出全部元素。

#include<stdio.h> void main() { int a[2][3],i,j; int *p; /*用坐标法输入二维数组元素*/ for(i=0;i<2;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); /*用指针法输出二维数组元素*/ p=a[0];         /*等价于p&a[0][0];*/ for(;p<a[0]+6;p++)   printf("%4d&quo

编程题:二维数组的下标意义

#include<stdio.h> void main() { int i,j,a[2][3],b[2][3]; for(i=0;i<2;i++) for(j=0;j<3;j++) a[i][j]=i; for(i=0;i<2;i++) for(j=0;j<3;j++) b[i][j]=j; printf("array a:\n"); for(i=0;i<2;i++) { for(j=0;j<3;j++) printf("%3d

C++二维数组查找题

题目:在一个二维数组中,每一行都按照从左到右递增的顺序,每一列都按照从上到下递增的顺序排序,完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否有该函数. 如二维数组: 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15 查找数字7,存在返回true:查找数字5,不存在,返回false: 处理方法: 从最右上角的数字开始,如果查找数小于该数,则查找数一定位于该数左侧,排除该列,继续查找左侧剩下的矩阵: 如果查找数大于该数,则查找数一定位于该数下侧,排除该行,继续查