Advertisement
Guest User

Referência para 10189 (Luiza)

a guest
Feb 27th, 2012
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <algorithm>
  3. using namespace std;
  4.  
  5. int n,m,_42=1;
  6. char grid[110][110];
  7. int mv[8][2] = {{1,0}, {1,1}, {1,-1},
  8.         {0,1}, {0,-1},
  9.         {-1,0}, {-1,1}, {-1,-1}};
  10.  
  11. int main() {
  12.     while (1) {
  13.         scanf("%d %d", &n,&m);
  14.         if (!n && !m) break;
  15.         if (_42>1) printf("\n");
  16.  
  17.         for (int i=0; i<n; i++)
  18.             for (int j=0; j<m; j++)
  19.                 scanf(" %c", &grid[i][j]);
  20.        
  21.         for (int i=0; i<n; i++)
  22.             for (int j=0; j<m; j++) {
  23.                 if (grid[i][j]=='*')
  24.                     continue;
  25.  
  26.                 int cnt=0;
  27.  
  28.                 for (int k=0; k<8; k++) {
  29.                     int nI=i+mv[k][0];
  30.                     int nJ=j+mv[k][1];
  31.  
  32.                     if (nI<0 || nI>=n) continue;
  33.                     if (nJ<0 || nJ>=m) continue;
  34.                    
  35.                     if (grid[nI][nJ]=='*')
  36.                         cnt++;
  37.                 }
  38.  
  39.                 grid[i][j]=cnt+'0';    
  40.             }
  41.  
  42.         printf("Field #%d:\n", _42++);
  43.  
  44.         for (int i=0; i<n; i++) {
  45.             for (int j=0; j<m ;j++)
  46.                 printf("%c", grid[i][j]);
  47.             printf("\n");
  48.         }
  49.     }
  50.  
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement