题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如:

输入一个矩阵如下:


则依次打印出数字:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10

这道题的类似于:http://www.cnblogs.com/vpoet/p/4660520.html(LeeCode-Spiral Matrix 11)

 

其实主要还是考察我们对二维数组的循环操作:

代码实现如下:

 #include <iostream>
using namespace std; void PrintMatrixClockwisely(int** numbers,int columns,int rows)
{
cout<<endl<<"The Matrix is: "<<endl;;
for(int i=;i<rows;i++)
{
for(int j=;j<columns;j++)
{
cout<<numbers[i][j]<<" ";
}
cout<<endl;
} cout<<endl<<"The Output Array of Matrix is: "; int count=;
int left=;
int top=;
int bottom=rows-;
int right=columns-;
while(count<(columns*rows))
{
for(i=left;i<=right;i++)
{
cout<<numbers[left][i]<<" ";
count++;
}
top++; for(i=top;i<=bottom;i++)
{
cout<<numbers[i][right]<<" ";
count++;
}
right--; for(i=right;i>=left;i--)
{
cout<<numbers[bottom][i]<<" ";
count++;
}
bottom--; for(i=bottom;i>=top;i--)
{
cout<<numbers[i][left]<<" ";
count++;
}
left++; }
} void main()
{
int **nums;
int cols;
int rows;
int i,j;
cout<<"Please input the rows: ";
cin>>rows; cout<<"Please input the cols: ";
cin>>cols; nums=new int*[rows];
for(i=;i<rows;i++)
nums[i]=new int[cols]; for(i=;i<rows;i++)
{
cout<<"Please input the "<<i+<<"th"<<" rows: "<<endl;;
for(j=;j<cols;j++)
{
int data;
cin>>data;
nums[i][j]=data;
}
} PrintMatrixClockwisely(nums,cols,rows); for(i=;i<rows;i++)
delete[] nums[i];
delete[] nums;
return;
}

运行截图:

剑指offer-面试题20.顺时针打印矩阵的更多相关文章

  1. 剑指Offer:面试题20——顺时针打印矩阵(java实现)

    题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数 字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1, ...

  2. 剑指 offer面试题20 顺时针打印矩阵

    [题目描述] 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1, ...

  3. 【剑指offer】题目20 顺时针打印矩阵

    输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1   2   3  4 5   6   7  8 9  10 11 12 13 14 15 16 则依次打印出 ...

  4. 剑指Offer - 九度1391 - 顺时针打印矩阵

    剑指Offer - 九度1391 - 顺时针打印矩阵2013-11-24 04:55 题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 ...

  5. 剑指offer十九之顺时针打印矩阵

    一.题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2, ...

  6. 剑指offer(19)顺时针打印矩阵

    题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2, ...

  7. 【剑指Offer】19、顺时针打印矩阵

      题目描述:   输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依 ...

  8. 牛客网剑指offer第19题——顺时针打印矩阵

    这个题看似很简单: 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 ...

  9. 剑指offer面试题5 从头到尾打印链表(java)

    注:(1)这里体现了java数据结构与C语言的不同之处 (2)栈的操作直接利用stack进行 package com.xsf.SordForOffer; import java.util.Stack; ...

  10. 剑指offer面试题5 从头到尾打印链表(c)

随机推荐

  1. poj 3498 March of the Penguins(最大流+拆点)

    题目大意:在南极生活着一些企鹅,这些企鹅站在一些冰块上,现在要让这些企鹅都跳到同一个冰块上.但是企鹅有最大的跳跃距离,每只企鹅从冰块上跳走时会给冰块造成损害,因此企鹅跳离每个冰块都有次数限制.找出企鹅 ...

  2. 构建高性能WEB站点笔记二

    构建高性能WEB站点笔记 因为是跳着看的,后面看到有提到啥epoll模型,那就补充下前面的知识. 第三章 服务器并发处理能力 3.2 CPU并发计算 进程 好处:cpu 时间的轮流使用.对CPU计算和 ...

  3. 【转】基于Qt, TUIO和TSLIB的嵌入式Linux下的多点触摸设计

    这个教程描述了在嵌入式linux下使用Qt如何设置一个支持多点触摸和单点触摸的输入系统.这里假定你已经有了对应的驱动程序,驱动可以从触摸屏的厂商那里获得或者使用一个linux 内核源码中已经存在的驱动 ...

  4. pyqt QTimer,QThread例子学习

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import * from PyQ ...

  5. Android恢复出厂设置流程分析【Android源码解析十】

    最近看恢复出厂的一个问题,以前也查过这方面的流程,所以这里整理一些AP+framework层的流程: 在setting-->备份与重置--->恢复出厂设置--->重置手机---> ...

  6. 16. Linux 文件目录权限

    # 文件参数 d:表示是一个目录-:表示这是一个普通的文件l: 表示这是一个符号链接文件,实际上它指向另一个文件b.c:分别表示区块设备和其他的外围设备,是特殊类型的文件s.p:这些文件关系到系统的数 ...

  7. System.AccessViolationException: 尝试读取或写入受保护的内存 解决办法

    netsh winsock reset   --运行此命令解决 错误描述: 之前装的vs2010后 再又安装了vs2013 ,运行之前的vs2010项目 就出现以上错误 错误应用程序名称: w3wp. ...

  8. android——仿微拍贷滑动圆形菜单

    一次偶然机会接触到微拍贷的app,瞬间被其圆形可滑动菜单吸引了.一直琢磨着给弄出来. 现在弄出来了.先看看效果吧 如果你也喜欢这个菜单.去我的github找源码吧.太忙了.没时间贴代码和讲解了. ht ...

  9. Global.asax使用1

    Application_start: 1.第一个访问网站的用户会触发该方法.(针对访问的是asp.net应用程序的类,及ashx,aspx等才会触发) 2. 通常会在该方法里定义一些系统变量,如聊天室 ...

  10. 自定义UIView动画效果

    最普通动画: //开始动画 [UIView beginAnimations:nil context:nil]; //设定动画持续时间 [UIView setAnimationDuration:]; / ...