zoukankan      html  css  js  c++  java
  • 扫雷题解

    #include <iostream>

    #include <cstdio>

    using namespace std;

    char a[110][110];  //根据雷区设定的数组大小

    void fun(int n,int m)

    {

        for(int i=1;i<=n;i++)   //以字符串的形式往二维数组里填充内容

            scanf("%s",a[i]+1); //a[i+1]空出左边的一列

        //右边和下边只需要把数组设置大,就会空出来了

        int dx[8]={-1,-1,-1,0,0,1,1,1};//方向数组,实现数据和控制分离

        int dy[8]={-1,0,1,-1,1,-1,0,1};

        for(int i=1;i<=n;i++)

        {

            for(int j=1;j<=m;j++)

            {

                if(a[i][j]=='*')

                    cout<<'*';

                else

                {

                    int sum=0;

                    for(int o=0;o<8;o++)    //找周围雷的个数

                        if(a[i+dx[o]][j+dy[o]]=='*')

                            sum++;

                    cout<<sum;

                }

            }

            cout<<endl;

        }

    }

    int main()

    {

        int n,m;

        cin>>n>>m;

        fun(n,m);

        return 0;

    }

    备注:对于二维数组:a[0][0]不是地址,&a[0][0]才是地址,但a[0]是a[0][0]的地址,a[0]+1是a[0][1]的地址.

    所以在输入的时候,若是输入a[i][j],就必须用取地址符。

    这篇文章,是又一个故事的结束...
    lazy's story is continuing.
  • 相关阅读:
    Git 常用命令速查表
    Android的Fragment中onActivityResult不被调用
    git基本操作
    Android混淆
    Shell
    小米手机图标应用图标不改变的问题
    linux常用基本命令
    android新建的项目界面上没有显示怎么办?
    bzoj5249: [2018多省省队联测]IIIDX(线段树)
    bzoj1951: [Sdoi2010]古代猪文(Lucas+CRT+欧拉定理)
  • 原文地址:https://www.cnblogs.com/Hello-world-hello-lazy/p/13490751.html
Copyright © 2011-2022 走看看