Phoenix_x

Spital Matrix

Feb 2nd, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.31 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. void fillLeft();
  7. void fillBottom();
  8. void fillRight();
  9. void fillTop();
  10. void fillFrame();
  11. void printMatrix();
  12.  
  13. const int x = 5;
  14. const int y = 5;
  15.  
  16. int fillNumber = 1;
  17. int goInside = 0;
  18. int matrix[y][x] = { 0 };
  19.  
  20. void main()
  21. {
  22.     while (fillNumber <= x * y) { // 5 x 5 = 25
  23.         fillFrame();
  24.         goInside++;
  25.     }
  26.  
  27.     printMatrix();
  28. }
  29.  
  30. void fillLeft()
  31. {
  32.     for (int i = y - 2; i >= 0; i--) {
  33.         if (matrix[i][0 + goInside] == 0) {
  34.             matrix[i][0 + goInside] = fillNumber;
  35.             fillNumber++;
  36.         }
  37.     }
  38. }
  39.  
  40. void fillRight() {
  41.     for (int i = 1; i < y; i++) {
  42.         if (matrix[i][x - 1 - goInside] == 0) {
  43.             matrix[i][x - 1 - goInside] = fillNumber;
  44.             fillNumber++;
  45.         }
  46.     }
  47. }
  48.  
  49. void  fillTop() {
  50.     for (int i = 0; i < x; i++) {
  51.  
  52.         if (matrix[0 + goInside][i] == 0) {
  53.             matrix[0 + goInside][i] = fillNumber;
  54.             fillNumber++;
  55.         }
  56.     }
  57. }
  58.  
  59. void fillBottom() {
  60.     for (int i = x - 1; i >= 0; i--) {
  61.         if (matrix[y - 1 - goInside][i] == 0) {
  62.             matrix[y - 1 - goInside][i] = fillNumber;
  63.             fillNumber++;
  64.         }
  65.     }
  66. }
  67.  
  68. void fillFrame()
  69. {
  70.     fillTop();
  71.     fillRight();
  72.     fillBottom();
  73.     fillLeft();
  74. }
  75.  
  76. void printMatrix()
  77. {
  78.     for (int i = 0; i < y; i++)
  79.     {
  80.         for (int j = 0; j < x; j++)
  81.         {
  82.             cout << matrix[j][i] << "\t";
  83.         }
  84.  
  85.         cout << endl;
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment