fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <cstddef>
  4.  
  5. const std::size_t HEIGHT = 10;
  6. const std::size_t WIDTH = 10;
  7.  
  8. typedef std::vector<std::vector<int>> Matrix;
  9.  
  10. inline void set_bit(Matrix& matrix, std::size_t x, std::size_t y)
  11. {
  12. matrix[x][y] |= (0x80 >> ((x) % 8));
  13. }
  14.  
  15. void print_screen(Matrix const& matrix)
  16. {
  17. std::vector<char>::size_type x, y;
  18.  
  19. for (y = 0; y < HEIGHT; y++)
  20. {
  21. for (x = 0; x < WIDTH/8+1; x++)
  22. {
  23. for (int i = 0x80; i != 0; i = (i >> 1))
  24. {
  25. try {
  26. if ((matrix[x].at(y) & i) != 0)
  27. std::cout << '*';
  28. else
  29. std::cout << ' ';
  30. } catch(const std::exception& e) {
  31. std::cout << e.what() << " failed\n";
  32. }
  33. }
  34. }
  35. std::cout << "\n\n";
  36. }
  37. }
  38.  
  39. int main()
  40. {
  41. //Matrix matrix;
  42.  
  43. std::vector<std::vector<int>> matrix (HEIGHT, std::vector<int>(WIDTH/8));
  44. std::cout << "Outer matrix size: " << matrix.size() << "\n";
  45. for(const auto& v : matrix) {
  46. std::cout << "Inner size: " << v.size() << "\n";
  47. }
  48.  
  49. std::vector<char>::size_type x, y;
  50.  
  51. for (x = 0; x < WIDTH; x++)
  52. {
  53. for (y = 0; y < HEIGHT; y++)
  54. {
  55. if (x == 0 || y == 0 || x == WIDTH-1 || y == HEIGHT-1)
  56. {
  57. set_bit(matrix, x, y);
  58. }
  59. }
  60. }
  61.  
  62. print_screen(matrix);
  63. }
Runtime error #stdin #stdout #stderr 0s 3436KB
stdin
Standard input is empty
stdout
Outer matrix size: 10
Inner size: 1
Inner size: 1
Inner size: 1
Inner size: 1
Inner size: 1
Inner size: 1
Inner size: 1
Inner size: 1
Inner size: 1
Inner size: 1
*       **      

vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed


vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed


vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed


vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed


vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed


vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed


vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed


vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed


vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed
vector::_M_range_check failed


stderr
*** Error in `./prog': double free or corruption (!prev): 0x0973a0b8 ***
======= Backtrace: =========
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x75e72)[0xb754de72]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x76bb0)[0xb754ebb0]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_ZdlPv+0x1f)[0xb773082f]
./prog[0x8048dc6]
./prog[0x8048aec]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(__libc_start_main+0xf5)[0xb74f18f5]
./prog[0x8048b81]
======= Memory map: ========
08048000-0804a000 r-xp 00000000 08:03 1295705    /home/MdFoSm/prog
0804a000-0804b000 rw-p 00001000 08:03 1295705    /home/MdFoSm/prog
0973a000-0975b000 rw-p 00000000 00:00 0          [heap]
b74d6000-b74d8000 rw-p 00000000 00:00 0 
b74d8000-b7681000 r-xp 00000000 08:03 1303839    /lib/i386-linux-gnu/i686/cmov/libc-2.17.so
b7681000-b7682000 ---p 001a9000 08:03 1303839    /lib/i386-linux-gnu/i686/cmov/libc-2.17.so
b7682000-b7684000 r--p 001a9000 08:03 1303839    /lib/i386-linux-gnu/i686/cmov/libc-2.17.so
b7684000-b7685000 rw-p 001ab000 08:03 1303839    /lib/i386-linux-gnu/i686/cmov/libc-2.17.so
b7685000-b7688000 rw-p 00000000 00:00 0 
b7688000-b76a3000 r-xp 00000000 08:03 1303883    /lib/i386-linux-gnu/libgcc_s.so.1
b76a3000-b76a4000 rw-p 0001a000 08:03 1303883    /lib/i386-linux-gnu/libgcc_s.so.1
b76a4000-b76a5000 rw-p 00000000 00:00 0 
b76a5000-b76e6000 r-xp 00000000 08:03 1303836    /lib/i386-linux-gnu/i686/cmov/libm-2.17.so
b76e6000-b76e7000 r--p 00040000 08:03 1303836    /lib/i386-linux-gnu/i686/cmov/libm-2.17.so
b76e7000-b76e8000 rw-p 00041000 08:03 1303836    /lib/i386-linux-gnu/i686/cmov/libm-2.17.so
b76e8000-b77c4000 r-xp 00000000 08:03 1345926    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b77c4000-b77c5000 ---p 000dc000 08:03 1345926    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b77c5000-b77c9000 r--p 000dc000 08:03 1345926    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b77c9000-b77ca000 rw-p 000e0000 08:03 1345926    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18
b77ca000-b77d1000 rw-p 00000000 00:00 0 
b77d3000-b77d7000 rw-p 00000000 00:00 0 
b77d7000-b77d8000 r-xp 00000000 00:00 0          [vdso]
b77d8000-b77f7000 r-xp 00000000 08:03 1303796    /lib/i386-linux-gnu/ld-2.17.so
b77f7000-b77f8000 r--p 0001f000 08:03 1303796    /lib/i386-linux-gnu/ld-2.17.so
b77f8000-b77f9000 rw-p 00020000 08:03 1303796    /lib/i386-linux-gnu/ld-2.17.so
bfd21000-bfd36000 rw-p 00000000 00:00 0          [stack]