二维数组

原创 2016年08月30日 16:18:51




#include<stdio.h>


int MaxTime(int R, int C, int a[100][100], int r,int c)
{


if(a == NULL)
{
return 0;
}
// 上
int result = 1,result1 = 1,result2 = 1,result3 =1,result4 =1;


if((r-1 >= 0 )&&(a[r][c]>a[r-1][c]))
{
result1 = 1 + MaxTime(R,C,a,r-1,c);
result = result1;
}


//下
if((r+1 < R )&&(a[r][c]>a[r+1][c]))
{
result2  = 1 + MaxTime(R,C,a,r+1,c);
if(result < result2)
{
result = result2;
}
}
//左
if((c-1>=0)&&(a[r][c] >= a[r][c-1]))
{
result3 =  1 + MaxTime(R,C,a,r,c-1);
if(result < result3)
{
result = result3;
}
}
//右
if((c+1<C)&&(a[r][c] >= a[r][c+1]))
{
result4 =  1 + MaxTime(R,C,a,r,c+1);
if(result < result4)
{
result = result4;
}
}
return result;
}


int main()
{
int R , C;
scanf("%d %d",&R,&C);
printf("%d %d",R,C);
if(R < 1 || C < 1 || R > 100 || C > 100)
{
return 0;
}
int a[100][100] = {0};  
int i,j;
printf("\n");
for(i = 0; i < R;i++)
{
for(j =0;j<C;j++)
{
scanf("%d",&(a[i][j]));
}
printf("\n");
}


printf("\n");


for(i = 0 ;i<R;i++)
{
for(j =0;j<C;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
int result = 0;
for(i = 0;i<R;i++)
{
for(j = 0;j<C;j++)
{
int tmp = MaxTime(R,C,a,i,j);
if(result < tmp)
result = tmp;
}
}
printf("result = %d\n",result);
}


输入:

1 2 3 4 5 
16 17 18 19 6 
15 24 25 20 7 
14 23 22 21 8 
13 12 11 10 9 

输出:result = 25

c++ 创建二维数组的几种方法

1、用new申请一块内存空间存放二维数组 #include using namespace std; int main(int argc, char* argv[]) { int n=10,m=2...
  • u014546553
  • u014546553
  • 2016年12月14日 19:48
  • 6327

二维数组的调用方式

#include void print_2DArray(int a[][4],int row) //int a[][4] -> int (*a)[4] { int col = sizeof(...
  • daa20
  • daa20
  • 2016年06月26日 11:20
  • 764

C++编程笔记:二维数组的动态分配与释放

当给定的条件不同时,二维数组的动态分配方式不同。例如,已知二维数组的行数(即第一维维度)为多少的情况下对其进行动态分配,与知道列数(第二维维度),或者两个维度都未知的情况下,二维数组的动态分配方式都不...
  • elaine_bao
  • elaine_bao
  • 2016年08月26日 22:20
  • 1792

Objective-C 二维数组详解

在实际的项目开发中,二维数组也是常常用到的数据结构。OC中的二维数组也是通过一维数组来建立的,今天我们来详解一下如何在OC中使用二维数组。 【使用NSArray初始化二维数组】 使用NSArray初始...
  • CHENYUFENG1991
  • CHENYUFENG1991
  • 2015年11月02日 09:50
  • 8025

用malloc动态申请一个二维数组的三种方法

方法一:利用二级指针申请一个二维数组。 https://github.com/fengxinlinux/code.git
  • fengxinlinux
  • fengxinlinux
  • 2016年05月30日 20:56
  • 15209

使用vector创建一个二维数组(一)

最近在刷题的时候遇到过好几次二维数组的问题,因为我自己想在C++方向发展,所以尽可能地用C++提供的STL来完成编程,但是在使用二维数组的时候遇到了麻烦,就是如果用int[][]这种直接表示方式很简单...
  • oNever_say_love
  • oNever_say_love
  • 2016年02月29日 09:30
  • 14975

5.2 Javascript:循环-二维数组

二维数组说明与一维数组相比,在用法上二维数组并没有什么不同;二维数组提供了行与 列的选择;也就是说,在一维数组里的每个值都是一组一维数组语法var arrayStr=new Array(new ar...
  • WeAreZero
  • WeAreZero
  • 2016年03月12日 17:57
  • 9439

蓝鸥Unity开发基础—— 二维数组学习笔记

蓝鸥Unity开发基础—— 二维数组学习笔记:一、二维数组有两个下标的数组叫做二维数组类似[,]数组名=new类型[常量表达式1,常量表达式2]int[,] numbers= new int[2,3]...
  • sinat_35761779
  • sinat_35761779
  • 2016年08月17日 11:41
  • 1115

malloc二维数组的2种方法

#include #include int main() { int **a = malloc(sizeof(int)*3); a[0]= malloc(sizeof(int)*2...
  • TODD911
  • TODD911
  • 2012年08月28日 13:33
  • 8183

字符串转成二维数组

 有 字符串一个:String str = "ss/dd/sddf|ssd/sd/sdf|ss/sdf/sd";转换成二维数组:第一维 :  String[] a = str.split("|"); ...
  • meifage
  • meifage
  • 2011年07月01日 11:41
  • 5916
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二维数组
举报原因:
原因补充:

(最多只允许输入30个字)