Advertisement
brsjak

Minesweeper (4/6)

May 27th, 2016
862
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.16 KB | None | 0 0
  1. /*Да се напише програма во која се вчитува матрица (со димензии M и N, M,N∈(1,100]) од цели броеви.
  2.  
  3. Сите елементи од матрицата се поставени на вредности 0 или 1.
  4.  
  5. Да се формира нова матрица така што на местото на сите елементи што имаат вредност 0, треба да се смести бројот на елементи со вредност 1 околу тој елемент во сите осум насоки.
  6.  
  7. Новодобиената матрица да се отпечати на стандраден излез, при што наместо елементите со вредност 1 од оригиналната матрица ќе се отпечати знак *.
  8.  
  9. */
  10.  
  11. #include <stdio.h>
  12. #define MAX 100
  13.  
  14. int main(){
  15.     int n, m, i, j, a[MAX][MAX], b[MAX][MAX], kecovi=0;
  16.     scanf("%d %d", &n, &m);
  17.     for(i=0;i<n;i++){
  18.         for(j=0;j<m;j++){
  19.             scanf("%d", &a[i][j]);
  20.         }
  21.     }
  22.     for(i=0;i<n;i++){
  23.         for(j=0;j<m;j++){
  24.             if(a[i][j]==0){
  25.                 if(i==0&&j==0){
  26.                     b[i][j]=a[i+1][j]+a[i][j+1]+a[i+1][j+1];//TOCEN
  27.                 }
  28.                 if(i==n-1&&j==0){
  29.                     b[i][j]=a[i-1][j]+a[i-1][j+1]+a[i][j+1];//TOCEN
  30.                 }
  31.                 if(i==n-1&&j==n-1){
  32.                     b[i][j]=a[i-1][j]+a[i-1][j-1]+a[i][j-1];//TOCEN
  33.                 }
  34.                 if(i==0&&j==n-1){
  35.                     b[i][j]=a[i][j-1]+a[i+1][j+1]+a[i+1][j];//TOCEN
  36.                 }
  37.                 if(i==0&&j>0&&j<n-1){
  38.                     b[i][j]=a[i][j-1]+a[i+1][j-1]+a[i+1][j]+a[i+1][j+1]+a[i][j+1];//TOCEN
  39.                 }
  40.                 if(i==n-1&&j>0&&j<n-1){
  41.                     b[i][j]=a[i][j-1]+a[i-1][j-1]+a[i-1][j]+a[i-1][j+1]+a[i][j+1];//TOCEN
  42.                 }
  43.                 if(j==0&&i>0&&i<n-1){
  44.                     b[i][j]=a[i-1][j]+a[i-1][j+1]+a[i][j+1]+a[i+1][j+1]+a[i+1][j];//TOCEN
  45.                 }
  46.                 if(j==n-1&&i>0&&i<n-1){
  47.                     b[i][j]=a[i-1][j]+a[i-1][j-1]+a[i][j-1]+a[i+1][j-1]+a[i+1][j];//TOCEN
  48.                 }
  49.                 else
  50.                     b[i][j]=a[i-1][j]+a[i-1][j+1]+a[i][j+1]+a[i+1][j+1]+a[i+1][j]+a[i+1][j-1]+a[i][j-1]+a[i-1][j-1];
  51.             }
  52.         }
  53.     }
  54.     for(i=0;i<n;i++){
  55.         for(j=0;j<m;j++){
  56.             if(a[i][j]==1){
  57.                 printf("* ");
  58.             }
  59.             else
  60.                 printf("%d ", b[i][j]);
  61.         }
  62.         printf("\n");
  63.     }
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement