Language: C++

#include <bits/stdc++.h>
int main(void) {
 int h, w;
 cin >> h >> w;

 string board[50];

 for (int i = 0; i < h; ++i) cin >> board[i]; 
 const int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1};
 const int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1};

 for (int i = 0; i < h; ++i) {
 	for (int j = 0; j < w; ++j) 
    {
 		if (board[i][j] == '#') continue;

 		int num = 0;
 		for (int d = 0; d < 8; ++ d) 
    	{
 			const int ni = i + dy[d];
 			const int nj = j + dx[d];

 			if(ni<0orh<=ni)continue;
 			if(nj<0orw<=nj)continue;
 			if (board[ni][nj] == '#') num++;
 		}

 		board[i][j] = char(num + '0'); 
 	}
 }

 for (int i = 0; i < h; ++i) cout << board[i] << endl; 
 return 0;
 }

Compiler output:
a.cc: In function 'int main()':
a.cc:4:2: error: 'cin' was not declared in this scope; did you mean 'std::cin'?
    4 |  cin >> h >> w;
      |  ^~~
      |  std::cin
In file included from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:146,
                 from a.cc:1:
/usr/include/c++/14/iostream:62:18: note: 'std::cin' declared here
   62 |   extern istream cin;           ///< Linked to standard input
      |                  ^~~
a.cc:6:2: error: 'string' was not declared in this scope
    6 |  string board[50];
      |  ^~~~~~
a.cc:6:2: note: suggested alternatives:
In file included from /usr/include/c++/14/string:41,
                 from /usr/include/c++/14/bitset:52,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:52:
/usr/include/c++/14/bits/stringfwd.h:77:33: note:   'std::string'
   77 |   typedef basic_string<char>    string;
      |                                 ^~~~~~
/usr/include/c++/14/string:76:11: note:   'std::pmr::string'
   76 |     using string    = basic_string<char>;
      |           ^~~~~~
a.cc:8:37: error: 'board' was not declared in this scope
    8 |  for (int i = 0; i < h; ++i) cin >> board[i];
      |                                     ^~~~~
a.cc:15:21: error: 'board' was not declared in this scope
   15 |                 if (board[i][j] == '#') continue;
      |                     ^~~~~
a.cc:23:31: error: unable to find numeric literal operator 'operator""orh'
   23 |                         if(ni<0orh<=ni)continue;
      |                               ^~~~
a.cc:24:31: error: unable to find numeric literal operator 'operator""orw'
   24 |                         if(nj<0orw<=nj)continue;
      |                               ^~~~
a.cc:25:29: error: 'board' was not declared in this scope
   25 |                         if (board[ni][nj] == '#') num++;
      |                             ^~~~~
a.cc:28:17: error: 'board' was not declared in this scope
   28 |                 board[i][j] = char(num + '0');
      |                 ^~~~~
a.cc:32:30: error: 'cout' was not declared in this scope; did you mean 'std::cout'?
   32 |  for (int i = 0; i < h; ++i) cout << board[i] << endl;
      |                              ^~~~
      |                              std::cout
/usr/include/c++/14/iostream:63:18: note: 'std::cout' declared here
   63 |   extern ostream cout;          ///< Linked to standard output
      |                  ^~~~
a.cc:32:38: error: 'board' was not declared in this scope
   32 |  for (int i = 0; i < h; ++i) cout << board[i] << endl;
      |                                      ^~~~~
a.cc:32:50: error: 'endl' was not declared in this scope; did you mean 'std::endl'?
   32 |  for (int i = 0; i < h; ++i) cout << board[i] << endl;
      |                                                  ^~~~
      |                                                  std::endl
In file included from /usr/include/c++/14/istream:41,
                 from /usr/include/c++/14/sstream:40,
                 from /usr/include/c++/14/complex:45,
                 from /usr/include/c++/14/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:127:
/usr/include/c++/14/ostream:744:5: note: 'std::endl' declared here
  744 |     endl(basic_ostream<_CharT, _Traits>& __os)
      |     ^~~~