Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.53 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3.  
  4. bool nalaziSeUDetekciji(int row1[], int col1[], int row2[], int col2[], int ROW, int COL, int N){
  5.     for(int i = 0; i < N; i++)
  6.         if(ROW >= row1[i] && ROW <= row2[i] && COL >= col1[i] && COL <= col2[i])
  7.             if(COL == col1[i] || COL == col2[i] || ROW == row1[i] || ROW == row2[i])
  8.                 return true;
  9.     return false;
  10. }
  11.  
  12. void ucitajPolje(int *polje, int H, int W, bool isA){
  13.     for(int i = 0; i < H; i++)
  14.         for(int j = 0; j < W; j++){
  15.             if(isA == false)
  16.                 scanf(" %d", &(*((polje+i*W) + j)));
  17.             else
  18.                 *((polje+i*W) + j)  = 255;
  19.         }
  20. }
  21.  
  22. void main(){
  23.     int N, H, W;
  24.     scanf("%d %d %d", &N, &H, &W);
  25.  
  26.     int row1[N], col1[N], row2[N], col2[N];
  27.     for(int i = 0; i < N; i++)
  28.         scanf("%d %d %d %d", &row1[i], &col1[i], &row2[i], &col2[i]);
  29.  
  30.     int R[H][W], G[H][W], B[H][W], A[H][W];
  31.     ucitajPolje(R, H, W, false);
  32.     ucitajPolje(G, H, W, false);
  33.     ucitajPolje(B, H, W, false);
  34.     ucitajPolje(A, H, W, true);
  35.  
  36.     for(int i = 0; i < H; i++)
  37.         for(int j = 0; j < W; j++){
  38.             if(nalaziSeUDetekciji(row1, col1, row2, col2, i, j, N)){
  39.                 R[i][j] = 0;
  40.                 G[i][j] = 255;
  41.                 B[i][j] = 0;
  42.             } else
  43.                 A[i][j] = 127;
  44.         }
  45.  
  46.     printf("/image %d %d RGBA\n", H, W);
  47.     for(int i = 0; i < H; i++)
  48.         for(int j = 0; j < W; j++)
  49.             printf("%d %d %d %d ", R[i][j], G[i][j], B[i][j], A[i][j]);
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement